From c5b181e08c0e8d622d16c678a82f4a15f956abd7 Mon Sep 17 00:00:00 2001 From: rubin Date: Tue, 5 Mar 2024 16:09:18 +0300 Subject: [PATCH] initial commit --- copas.lua | 820 +++++++++++++++++++++++++++++++++++ copas/.travis.yml | 30 ++ copas/ftp.lua | 95 ++++ copas/ftp.lua~ | 95 ++++ copas/ftp.lua~~ | 95 ++++ copas/http.lua | 413 ++++++++++++++++++ copas/http.lua~ | 413 ++++++++++++++++++ copas/http.lua~~ | 413 ++++++++++++++++++ copas/limit.lua | 99 +++++ copas/limit.lua~ | 99 +++++ copas/limit.lua~~ | 99 +++++ copas/lock.lua | 191 ++++++++ copas/queue.lua | 191 ++++++++ copas/semaphore.lua | 202 +++++++++ copas/smtp.lua | 33 ++ copas/smtp.lua~ | 33 ++ copas/smtp.lua~~ | 33 ++ copas/timer.lua | 130 ++++++ ltn12.lua | 298 +++++++++++++ mime.lua | 90 ++++ mime/core.dll | Bin 0 -> 77824 bytes samp/events.lua | 292 +++++++++++++ samp/events/bitstream_io.lua | 267 ++++++++++++ samp/events/core.lua | 141 ++++++ samp/events/extra_types.lua | 45 ++ samp/events/handlers.lua | 526 ++++++++++++++++++++++ samp/events/utils.lua | 45 ++ samp/raknet.lua | 236 ++++++++++ samp/synchronization.lua | 199 +++++++++ socket.lua | 149 +++++++ socket/core.dll | Bin 0 -> 39936 bytes socket/ftp.lua | 285 ++++++++++++ socket/headers.lua | 104 +++++ socket/http.lua | 354 +++++++++++++++ socket/smtp.lua | 256 +++++++++++ socket/tp.lua | 126 ++++++ socket/url.lua | 307 +++++++++++++ ssl.dll | Bin 0 -> 1795584 bytes ssl.lua | 189 ++++++++ ssl/https.lua | 143 ++++++ websocket.lua | 12 + websocket/bit.lua | 10 + websocket/client.lua | 7 + websocket/client_copas.lua | 40 ++ websocket/client_ev.lua | 248 +++++++++++ websocket/client_sync.lua | 38 ++ websocket/ev_common.lua | 161 +++++++ websocket/frame.lua | 214 +++++++++ websocket/handshake.lua | 104 +++++ websocket/server.lua | 5 + websocket/server_copas.lua | 146 +++++++ websocket/server_ev.lua | 266 ++++++++++++ websocket/sync.lua | 203 +++++++++ websocket/tools.lua | 203 +++++++++ 54 files changed, 9193 insertions(+) create mode 100644 copas.lua create mode 100644 copas/.travis.yml create mode 100644 copas/ftp.lua create mode 100644 copas/ftp.lua~ create mode 100644 copas/ftp.lua~~ create mode 100644 copas/http.lua create mode 100644 copas/http.lua~ create mode 100644 copas/http.lua~~ create mode 100644 copas/limit.lua create mode 100644 copas/limit.lua~ create mode 100644 copas/limit.lua~~ create mode 100644 copas/lock.lua create mode 100644 copas/queue.lua create mode 100644 copas/semaphore.lua create mode 100644 copas/smtp.lua create mode 100644 copas/smtp.lua~ create mode 100644 copas/smtp.lua~~ create mode 100644 copas/timer.lua create mode 100644 ltn12.lua create mode 100644 mime.lua create mode 100644 mime/core.dll create mode 100644 samp/events.lua create mode 100644 samp/events/bitstream_io.lua create mode 100644 samp/events/core.lua create mode 100644 samp/events/extra_types.lua create mode 100644 samp/events/handlers.lua create mode 100644 samp/events/utils.lua create mode 100644 samp/raknet.lua create mode 100644 samp/synchronization.lua create mode 100644 socket.lua create mode 100644 socket/core.dll create mode 100644 socket/ftp.lua create mode 100644 socket/headers.lua create mode 100644 socket/http.lua create mode 100644 socket/smtp.lua create mode 100644 socket/tp.lua create mode 100644 socket/url.lua create mode 100644 ssl.dll create mode 100644 ssl.lua create mode 100644 ssl/https.lua create mode 100644 websocket.lua create mode 100644 websocket/bit.lua create mode 100644 websocket/client.lua create mode 100644 websocket/client_copas.lua create mode 100644 websocket/client_ev.lua create mode 100644 websocket/client_sync.lua create mode 100644 websocket/ev_common.lua create mode 100644 websocket/frame.lua create mode 100644 websocket/handshake.lua create mode 100644 websocket/server.lua create mode 100644 websocket/server_copas.lua create mode 100644 websocket/server_ev.lua create mode 100644 websocket/sync.lua create mode 100644 websocket/tools.lua diff --git a/copas.lua b/copas.lua new file mode 100644 index 0000000..8614839 --- /dev/null +++ b/copas.lua @@ -0,0 +1,820 @@ +------------------------------------------------------------------------------- +-- Copas - Coroutine Oriented Portable Asynchronous Services +-- +-- A dispatcher based on coroutines that can be used by TCP/IP servers. +-- Uses LuaSocket as the interface with the TCP/IP stack. +-- +-- Authors: Andre Carregal, Javier Guerra, and Fabio Mascarenhas +-- Contributors: Diego Nehab, Mike Pall, David Burgess, Leonardo Godinho, +-- Thomas Harning Jr., and Gary NG +-- +-- Copyright 2005-2016 - Kepler Project (www.keplerproject.org) +-- +-- $Id: copas.lua,v 1.37 2009/04/07 22:09:52 carregal Exp $ +------------------------------------------------------------------------------- + +if package.loaded["socket.http"] and (_VERSION=="Lua 5.1") then -- obsolete: only for Lua 5.1 compatibility + error("you must require copas before require'ing socket.http") +end + +local socket = require "socket" +local gettime = socket.gettime +local ssl -- only loaded upon demand + +local WATCH_DOG_TIMEOUT = 120 +local UDP_DATAGRAM_MAX = 8192 -- TODO: dynamically get this value from LuaSocket + +local pcall = pcall +if _VERSION=="Lua 5.1" and not jit then -- obsolete: only for Lua 5.1 compatibility + pcall = require("coxpcall").pcall +end + +-- Redefines LuaSocket functions with coroutine safe versions +-- (this allows the use of socket.http from within copas) +local function statusHandler(status, ...) + if status then return ... end + local err = (...) + if type(err) == "table" then + return nil, err[1] + else + error(err) + end +end + +function socket.protect(func) + return function (...) + return statusHandler(pcall(func, ...)) + end +end + +function socket.newtry(finalizer) + return function (...) + local status = (...) + if not status then + pcall(finalizer, select(2, ...)) + error({ (select(2, ...)) }, 0) + end + return ... + end +end + +local copas = {} + +-- Meta information is public even if beginning with an "_" +copas._COPYRIGHT = "Copyright (C) 2005-2017 Kepler Project" +copas._DESCRIPTION = "Coroutine Oriented Portable Asynchronous Services" +copas._VERSION = "Copas 2.0.2" + +-- Close the socket associated with the current connection after the handler finishes +copas.autoclose = true + +-- indicator for the loop running +copas.running = false + +------------------------------------------------------------------------------- +-- Simple set implementation based on LuaSocket's tinyirc.lua example +-- adds a FIFO queue for each value in the set +------------------------------------------------------------------------------- +local function newset() + local reverse = {} + local set = {} + local q = {} + setmetatable(set, { __index = { + insert = function(set, value) + if not reverse[value] then + set[#set + 1] = value + reverse[value] = #set + end + end, + + remove = function(set, value) + local index = reverse[value] + if index then + reverse[value] = nil + local top = set[#set] + set[#set] = nil + if top ~= value then + reverse[top] = index + set[index] = top + end + end + end, + + push = function (set, key, itm) + local qKey = q[key] + if qKey == nil then + q[key] = {itm} + else + qKey[#qKey + 1] = itm + end + end, + + pop = function (set, key) + local t = q[key] + if t ~= nil then + local ret = table.remove (t, 1) + if t[1] == nil then + q[key] = nil + end + return ret + end + end + }}) + return set +end + +local fnil = function()end +local _sleeping = { + times = {}, -- list with wake-up times + cos = {}, -- list with coroutines, index matches the 'times' list + lethargy = {}, -- list of coroutines sleeping without a wakeup time + + insert = fnil, + remove = fnil, + push = function(self, sleeptime, co) + if not co then return end + if sleeptime<0 then + --sleep until explicit wakeup through copas.wakeup + self.lethargy[co] = true + return + else + sleeptime = gettime() + sleeptime + end + local t, c = self.times, self.cos + local i, cou = 1, #t + --TODO: do a binary search + while i<=cou and t[i]<=sleeptime do i=i+1 end + table.insert(t, i, sleeptime) + table.insert(c, i, co) + end, + getnext = function(self) -- returns delay until next sleep expires, or nil if there is none + local t = self.times + local delay = t[1] and t[1] - gettime() or nil + + return delay and math.max(delay, 0) or nil + end, + -- find the thread that should wake up to the time + pop = function(self, time) + local t, c = self.times, self.cos + if #t==0 or time= self.timeout_time + end + } +end + +local _servers = newset() -- servers being handled +local _reading_log = {} +local _writing_log = {} + +local _reading = newset() -- sockets currently being read +local _writing = newset() -- sockets currently being written +local _isTimeout = { -- set of errors indicating a timeout + ["timeout"] = true, -- default LuaSocket timeout + ["wantread"] = true, -- LuaSec specific timeout + ["wantwrite"] = true, -- LuaSec specific timeout +} + +------------------------------------------------------------------------------- +-- Coroutine based socket I/O functions. +------------------------------------------------------------------------------- + +local function isTCP(socket) + return string.sub(tostring(socket),1,3) ~= "udp" +end + +-- reads a pattern from a client and yields to the reading set on timeouts +-- UDP: a UDP socket expects a second argument to be a number, so it MUST +-- be provided as the 'pattern' below defaults to a string. Will throw a +-- 'bad argument' error if omitted. +function copas.receive(client, pattern, part, timeout) + local s, err + pattern = pattern or "*l" + local current_log = _reading_log + local timer = newtimer(timeout) + repeat + s, err, part = client:receive(pattern, part) + if s or (not _isTimeout[err]) or timer:expired() then + current_log[client] = nil + return s, err, part + end + if err == "wantwrite" then + current_log = _writing_log + current_log[client] = timer + coroutine.yield(client, _writing) + else + current_log = _reading_log + current_log[client] = timer + coroutine.yield(client, _reading) + end + until false +end + +-- receives data from a client over UDP. Not available for TCP. +-- (this is a copy of receive() method, adapted for receivefrom() use) +function copas.receivefrom(client, size, timeout) + local s, err, port + size = size or UDP_DATAGRAM_MAX + local timer = newtimer(timeout) + repeat + s, err, port = client:receivefrom(size) -- upon success err holds ip address + if s or err ~= "timeout" or timer:expired() then + _reading_log[client] = nil + return s, err, port + end + _reading_log[client] = timer + coroutine.yield(client, _reading) + until false +end + +-- same as above but with special treatment when reading chunks, +-- unblocks on any data received. +function copas.receivePartial(client, pattern, part) + local s, err + pattern = pattern or "*l" + local current_log = _reading_log + local timer = newtimer() + repeat + s, err, part = client:receive(pattern, part) + if s or ((type(pattern)=="number") and part~="" and part ~=nil ) or (not _isTimeout[err]) or timer:expired() then + current_log[client] = nil + return s, err, part + end + if err == "wantwrite" then + current_log = _writing_log + current_log[client] = timer + coroutine.yield(client, _writing) + else + current_log = _reading_log + current_log[client] = timer + coroutine.yield(client, _reading) + end + until false +end + +-- sends data to a client. The operation is buffered and +-- yields to the writing set on timeouts +-- Note: from and to parameters will be ignored by/for UDP sockets +function copas.send(client, data, from, to, timeout) + local s, err + from = from or 1 + local lastIndex = from - 1 + local current_log = _writing_log + local timer = newtimer(timeout) + repeat + s, err, lastIndex = client:send(data, lastIndex + 1, to) + -- adds extra coroutine swap + -- garantees that high throughput doesn't take other threads to starvation + if (math.random(100) > 90) then + current_log[client] = timer -- TODO: how to handle this?? + if current_log == _writing_log then + coroutine.yield(client, _writing) + else + coroutine.yield(client, _reading) + end + end + if s or (not _isTimeout[err]) or timer:expired() then + current_log[client] = nil + return s, err,lastIndex + end + if err == "wantread" then + current_log = _reading_log + current_log[client] = timer + coroutine.yield(client, _reading) + else + current_log = _writing_log + current_log[client] = timer + coroutine.yield(client, _writing) + end + until false +end + +-- sends data to a client over UDP. Not available for TCP. +-- (this is a copy of send() method, adapted for sendto() use) +function copas.sendto(client, data, ip, port, timeout) + local s, err + local timer = newtimer(timeout) + repeat + s, err = client:sendto(data, ip, port) + -- adds extra coroutine swap + -- garantees that high throughput doesn't take other threads to starvation + if (math.random(100) > 90) then + _writing_log[client] = timer + coroutine.yield(client, _writing) + end + if s or err ~= "timeout" or timer:expired() then + _writing_log[client] = nil + return s, err + end + _writing_log[client] = timer + coroutine.yield(client, _writing) + until false +end + +-- waits until connection is completed +function copas.connect(skt, host, port, timeout) + skt:settimeout(0) + local ret, err, tried_more_than_once + local timer = newtimer(timeout) + repeat + ret, err = skt:connect(host, port) + if (not ret) and timer:expired() then + return ret, "timeout" + end + -- non-blocking connect on Windows results in error "Operation already + -- in progress" to indicate that it is completing the request async. So essentially + -- it is the same as "timeout" + -- "Invalid argument" explanation: https://github.com/diegonehab/luasocket/pull/190 + if ret or (err ~= "timeout" and err ~= "Operation already in progress" and err ~= "Invalid argument") then + -- Once the async connect completes, Windows returns the error "already connected" + -- to indicate it is done, so that error should be ignored. Except when it is the + -- first call to connect, then it was already connected to something else and the + -- error should be returned + if (not ret) and (err == "already connected" and tried_more_than_once) then + ret = 1 + err = nil + end + _writing_log[skt] = nil + return ret, err + end + tried_more_than_once = tried_more_than_once or true + _writing_log[skt] = timer + coroutine.yield(skt, _writing) + until false +end + +--- +-- Peforms an (async) ssl handshake on a connected TCP client socket. +-- NOTE: replace all previous socket references, with the returned new ssl wrapped socket +-- Throws error and does not return nil+error, as that might silently fail +-- in code like this; +-- copas.addserver(s1, function(skt) +-- skt = copas.wrap(skt, sparams) +-- skt:dohandshake() --> without explicit error checking, this fails silently and +-- skt:send(body) --> continues unencrypted +-- @param skt Regular LuaSocket CLIENT socket object +-- @param sslt Table with ssl parameters +-- @return wrapped ssl socket, or throws an error +function copas.dohandshake(skt, sslt) + ssl = ssl or require("ssl") + local nskt, err = ssl.wrap(skt, sslt) + if not nskt then return error(err) end + local queue + nskt:settimeout(0) + repeat + local success, err = nskt:dohandshake() + if success then + return nskt + elseif err == "wantwrite" then + queue = _writing + elseif err == "wantread" then + queue = _reading + else + error(err) + end + coroutine.yield(nskt, queue) + until false +end + +-- flushes a client write buffer (deprecated) +function copas.flush(client) +end + +-- wraps a TCP socket to use Copas methods (send, receive, flush and settimeout) +local _skt_mt_tcp = { + __tostring = function(self) + return tostring(self.socket).." (copas wrapped)" + end, + __index = { + + send = function (self, data, from, to) + return copas.send(self.socket, data, from, to, self.timeout) + end, + + receive = function (self, pattern, prefix) + if (self.timeout==0) then + return copas.receivePartial(self.socket, pattern, prefix) + end + return copas.receive(self.socket, pattern, prefix, self.timeout) + end, + + flush = function (self) + return copas.flush(self.socket) + end, + + settimeout = function (self, time) + self.timeout=time + return true + end, + + -- TODO: socket.connect is a shortcut, and must be provided with an alternative + -- if ssl parameters are available, it will also include a handshake + connect = function(self, host, port) + local res, err = copas.connect(self.socket, host, port, self.timeout) + if res and self.ssl_params then + res, err = self:dohandshake() + end + return res, err + end, + + close = function(self, ...) return self.socket:close(...) end, + + -- TODO: socket.bind is a shortcut, and must be provided with an alternative + bind = function(self, ...) return self.socket:bind(...) end, + + -- TODO: is this DNS related? hence blocking? + getsockname = function(self, ...) return self.socket:getsockname(...) end, + + getstats = function(self, ...) return self.socket:getstats(...) end, + + setstats = function(self, ...) return self.socket:setstats(...) end, + + listen = function(self, ...) return self.socket:listen(...) end, + + accept = function(self, ...) return self.socket:accept(...) end, + + setoption = function(self, ...) return self.socket:setoption(...) end, + + -- TODO: is this DNS related? hence blocking? + getpeername = function(self, ...) return self.socket:getpeername(...) end, + + shutdown = function(self, ...) return self.socket:shutdown(...) end, + + dohandshake = function(self, sslt) + self.ssl_params = sslt or self.ssl_params + local nskt, err = copas.dohandshake(self.socket, self.ssl_params) + if not nskt then return nskt, err end + self.socket = nskt -- replace internal socket with the newly wrapped ssl one + return self + end, + + }} + +-- wraps a UDP socket, copy of TCP one adapted for UDP. +local _skt_mt_udp = {__index = { }} +for k,v in pairs(_skt_mt_tcp) do _skt_mt_udp[k] = _skt_mt_udp[k] or v end +for k,v in pairs(_skt_mt_tcp.__index) do _skt_mt_udp.__index[k] = v end + +_skt_mt_udp.__index.sendto = function (self, data, ip, port) + -- UDP sending is non-blocking, but we provide starvation prevention, so replace anyway + return copas.sendto(self.socket, data, ip, port, self.timeout) + end + +_skt_mt_udp.__index.receive = function (self, size) + return copas.receive(self.socket, (size or UDP_DATAGRAM_MAX), nil, self.timeout) + end + +_skt_mt_udp.__index.receivefrom = function (self, size) + return copas.receivefrom(self.socket, (size or UDP_DATAGRAM_MAX), self.timeout) + end + + -- TODO: is this DNS related? hence blocking? +_skt_mt_udp.__index.setpeername = function(self, ...) return self.socket:getpeername(...) end + +_skt_mt_udp.__index.setsockname = function(self, ...) return self.socket:setsockname(...) end + + -- do not close client, as it is also the server for udp. +_skt_mt_udp.__index.close = function(self, ...) return true end + + +--- +-- Wraps a LuaSocket socket object in an async Copas based socket object. +-- @param skt The socket to wrap +-- @sslt (optional) Table with ssl parameters, use an empty table to use ssl with defaults +-- @return wrapped socket object +function copas.wrap (skt, sslt) + if (getmetatable(skt) == _skt_mt_tcp) or (getmetatable(skt) == _skt_mt_udp) then + return skt -- already wrapped + end + skt:settimeout(0) + if not isTCP(skt) then + return setmetatable ({socket = skt}, _skt_mt_udp) + else + return setmetatable ({socket = skt, ssl_params = sslt}, _skt_mt_tcp) + end +end + +--- Wraps a handler in a function that deals with wrapping the socket and doing the +-- optional ssl handshake. +function copas.handler(handler, sslparams) + return function (skt, ...) + skt = copas.wrap(skt) + if sslparams then skt:dohandshake(sslparams) end + return handler(skt, ...) + end +end + + +-------------------------------------------------- +-- Error handling +-------------------------------------------------- + +local _errhandlers = {} -- error handler per coroutine + +function copas.setErrorHandler (err) + local co = coroutine.running() + if co then + _errhandlers [co] = err + end +end + +local function _deferror (msg, co, skt) + print (msg, co, skt) +end + +------------------------------------------------------------------------------- +-- Thread handling +------------------------------------------------------------------------------- + +local function _doTick (co, skt, ...) + if not co then return end + + local ok, res, new_q = coroutine.resume(co, skt, ...) + if ok and res and new_q then + new_q:insert (res) + new_q:push (res, co) + else + if not ok then pcall (_errhandlers [co] or _deferror, res, co, skt) end + if skt and copas.autoclose and isTCP(skt) then + skt:close() -- do not auto-close UDP sockets, as the handler socket is also the server socket + end + _errhandlers [co] = nil + end +end + +-- accepts a connection on socket input +local function _accept(input, handler) + local client = input:accept() + if client then + client:settimeout(0) + local co = coroutine.create(handler) + _doTick (co, client) + --_reading:insert(client) + end + return client +end + +-- handle threads on a queue +local function _tickRead (skt) + _doTick (_reading:pop (skt), skt) +end + +local function _tickWrite (skt) + _doTick (_writing:pop (skt), skt) +end + +------------------------------------------------------------------------------- +-- Adds a server/handler pair to Copas dispatcher +------------------------------------------------------------------------------- +local function addTCPserver(server, handler, timeout) + server:settimeout(timeout or 0) + _servers[server] = handler + _reading:insert(server) +end + +local function addUDPserver(server, handler, timeout) + server:settimeout(timeout or 0) + local co = coroutine.create(handler) + _reading:insert(server) + _doTick (co, server) +end + +function copas.addserver(server, handler, timeout) + if isTCP(server) then + addTCPserver(server, handler, timeout) + else + addUDPserver(server, handler, timeout) + end +end + +function copas.removeserver(server, keep_open) + local s, mt = server, getmetatable(server) + if mt == _skt_mt_tcp or mt == _skt_mt_udp then + s = server.socket + end + _servers[s] = nil + _reading:remove(s) + if keep_open then + return true + end + return server:close() +end + +------------------------------------------------------------------------------- +-- Adds an new coroutine thread to Copas dispatcher +------------------------------------------------------------------------------- +function copas.addthread(handler, ...) + -- create a coroutine that skips the first argument, which is always the socket + -- passed by the scheduler, but `nil` in case of a task/thread + local thread = coroutine.create(function(_, ...) return handler(...) end) + _doTick (thread, nil, ...) + return thread +end + +------------------------------------------------------------------------------- +-- tasks registering +------------------------------------------------------------------------------- + +local _tasks = {} + +local function addtaskRead (tsk) + -- lets tasks call the default _tick() + tsk.def_tick = _tickRead + + _tasks [tsk] = true +end + +local function addtaskWrite (tsk) + -- lets tasks call the default _tick() + tsk.def_tick = _tickWrite + + _tasks [tsk] = true +end + +local function tasks () + return next, _tasks +end + +------------------------------------------------------------------------------- +-- main tasks: manage readable and writable socket sets +------------------------------------------------------------------------------- +-- a task to check ready to read events +local _readable_t = { + events = function(self) + local i = 0 + return function () + i = i + 1 + return self._evs [i] + end + end, + + tick = function (self, input) + local handler = _servers[input] + if handler then + input = _accept(input, handler) + else + _reading:remove (input) + self.def_tick (input) + end + end +} + +addtaskRead (_readable_t) + + +-- a task to check ready to write events +local _writable_t = { + events = function (self) + local i = 0 + return function () + i = i + 1 + return self._evs [i] + end + end, + + tick = function (self, output) + _writing:remove (output) + self.def_tick (output) + end +} + +addtaskWrite (_writable_t) +-- +--sleeping threads task +local _sleeping_t = { + tick = function (self, time, ...) + _doTick(_sleeping:pop(time), ...) + end +} + +-- yields the current coroutine and wakes it after 'sleeptime' seconds. +-- If sleeptime<0 then it sleeps until explicitly woken up using 'wakeup' +function copas.sleep(sleeptime) + coroutine.yield((sleeptime or 0), _sleeping) +end + +-- Wakes up a sleeping coroutine 'co'. +function copas.wakeup(co) + _sleeping:wakeup(co) +end + +local last_cleansing = 0 + +------------------------------------------------------------------------------- +-- Checks for reads and writes on sockets +------------------------------------------------------------------------------- +local function _select(timeout) + local r_evs, w_evs, err = socket.select(_reading, _writing, timeout) + _readable_t._evs, _writable_t._evs = r_evs, w_evs + + -- Check all sockets selected for reading, and check how long they have been waiting + -- for data already, without select returning them as readable + for skt, timer in pairs(_reading_log) do + if not r_evs[skt] and timer:expired() then + -- This one timedout while waiting to become readable, so move + -- it in the readable list and try and read anyway, despite not + -- having been returned by select + _reading_log[skt] = nil + r_evs[#r_evs + 1] = skt + r_evs[skt] = #r_evs + end + end + + -- Do the same for writing + for skt, timer in pairs(_writing_log) do + if not w_evs[skt] and timer:expired() then + _writing_log[skt] = nil + w_evs[#w_evs + 1] = skt + w_evs[skt] = #w_evs + end + end + + if err == "timeout" and #r_evs + #w_evs > 0 then + return nil + else + return err + end +end + + +------------------------------------------------------------------------------- +-- Dispatcher loop step. +-- Listen to client requests and handles them +-- Returns false if no data was handled (timeout), or true if there was data +-- handled (or nil + error message) +------------------------------------------------------------------------------- +function copas.step(timeout) + _sleeping_t:tick(gettime()) + + -- Need to wake up the select call in time for the next sleeping event + local nextwait = _sleeping:getnext() + if nextwait then + timeout = timeout and math.min(nextwait, timeout) or nextwait + else + if copas.finished() then + return false + end + end + + local err = _select (timeout) + if err then + if err == "timeout" then return false end + return nil, err + end + + for tsk in tasks() do + for ev in tsk:events() do + tsk:tick (ev) + end + end + return true +end + +------------------------------------------------------------------------------- +-- Check whether there is something to do. +-- returns false if there are no sockets for read/write nor tasks scheduled +-- (which means Copas is in an empty spin) +------------------------------------------------------------------------------- +function copas.finished() + return not (next(_reading) or next(_writing) or _sleeping:getnext()) +end + +------------------------------------------------------------------------------- +-- Dispatcher endless loop. +-- Listen to client requests and handles them forever +------------------------------------------------------------------------------- +function copas.loop(timeout) + copas.running = true + while not copas.finished() do copas.step(timeout) end + copas.running = false +end + +return copas diff --git a/copas/.travis.yml b/copas/.travis.yml new file mode 100644 index 0000000..19db950 --- /dev/null +++ b/copas/.travis.yml @@ -0,0 +1,30 @@ +language: python +sudo: false + +env: + - LUA="lua=5.1" + - LUA="lua=5.2" + - LUA="lua=5.3" + - LUA="luajit=2.0" + - LUA="luajit=2.1" + +before_install: + - pip install hererocks + - hererocks lua_install -r^ --$LUA + - export PATH=$PATH:$PWD/lua_install/bin # Add directory with all installed binaries to PATH + +install: + - luarocks install luasec # optional dependency + - luarocks install luacov + - luarocks install luacov-coveralls + +script: + - luarocks make $(ls rockspec/copas-[a-z]* | sort -r | head -n 1) # get latest development rockspec + - make coverage + +after_success: + - luacov-coveralls --exclude $TRAVIS_BUILD_DIR/lua_install --exclude tests + +branches: + except: + - gh-pages diff --git a/copas/ftp.lua b/copas/ftp.lua new file mode 100644 index 0000000..109161f --- /dev/null +++ b/copas/ftp.lua @@ -0,0 +1,95 @@ +------------------------------------------------------------------- +-- identical to the socket.ftp module except that it uses +-- async wrapped Copas sockets + +local copas = require("copas") +local socket = require("socket") +local ftp = require("socket.ftp") +local ltn12 = require("ltn12") +local url = require("socket.url") + + +local create = function() return copas.wrap(socket.tcp()) end +local forwards = { -- setting these will be forwarded to the original smtp module + PORT = true, + TIMEOUT = true, + PASSWORD = true, + USER = true +} + +copas.ftp = setmetatable({}, { + -- use original module as metatable, to lookup constants like socket.TIMEOUT, etc. + __index = ftp, + -- Setting constants is forwarded to the luasocket.ftp module. + __newindex = function(self, key, value) + if forwards[key] then ftp[key] = value return end + return rawset(self, key, value) + end, + }) +local _M = copas.ftp + +---[[ copy of Luasocket stuff here untile PR #133 is accepted +-- a copy of the version in LuaSockets' ftp.lua +-- no 'create' can be passed in the string form, hence a local copy here +local default = { + path = "/", + scheme = "ftp" +} + +-- a copy of the version in LuaSockets' ftp.lua +-- no 'create' can be passed in the string form, hence a local copy here +local function parse(u) + local t = socket.try(url.parse(u, default)) + socket.try(t.scheme == "ftp", "wrong scheme '" .. t.scheme .. "'") + socket.try(t.host, "missing hostname") + local pat = "^type=(.)$" + if t.params then + t.type = socket.skip(2, string.find(t.params, pat)) + socket.try(t.type == "a" or t.type == "i", + "invalid type '" .. t.type .. "'") + end + return t +end + +-- parses a simple form into the advanced form +-- if `body` is provided, a PUT, otherwise a GET. +-- If GET, then a field `target` is added to store the results +_M.parseRequest = function(u, body) + local t = parse(u) + if body then + t.source = ltn12.source.string(body) + else + t.target = {} + t.sink = ltn12.sink.table(t.target) + end +end +--]] + +_M.put = socket.protect(function(putt, body) + if type(putt) == "string" then + putt = _M.parseRequest(putt, body) + _M.put(putt) + return table.concat(putt.target) + else + putt.create = putt.create or create + return ftp.put(putt) + end +end) + +_M.get = socket.protect(function(gett) + if type(gett) == "string" then + gett = _M.parseRequest(gett) + _M.get(gett) + return table.concat(gett.target) + else + gett.create = gett.create or create + return ftp.get(gett) + end +end) + +_M.command = function(cmdt) + cmdt.create = cmdt.create or create + return ftp.command(cmdt) +end + +return _M diff --git a/copas/ftp.lua~ b/copas/ftp.lua~ new file mode 100644 index 0000000..109161f --- /dev/null +++ b/copas/ftp.lua~ @@ -0,0 +1,95 @@ +------------------------------------------------------------------- +-- identical to the socket.ftp module except that it uses +-- async wrapped Copas sockets + +local copas = require("copas") +local socket = require("socket") +local ftp = require("socket.ftp") +local ltn12 = require("ltn12") +local url = require("socket.url") + + +local create = function() return copas.wrap(socket.tcp()) end +local forwards = { -- setting these will be forwarded to the original smtp module + PORT = true, + TIMEOUT = true, + PASSWORD = true, + USER = true +} + +copas.ftp = setmetatable({}, { + -- use original module as metatable, to lookup constants like socket.TIMEOUT, etc. + __index = ftp, + -- Setting constants is forwarded to the luasocket.ftp module. + __newindex = function(self, key, value) + if forwards[key] then ftp[key] = value return end + return rawset(self, key, value) + end, + }) +local _M = copas.ftp + +---[[ copy of Luasocket stuff here untile PR #133 is accepted +-- a copy of the version in LuaSockets' ftp.lua +-- no 'create' can be passed in the string form, hence a local copy here +local default = { + path = "/", + scheme = "ftp" +} + +-- a copy of the version in LuaSockets' ftp.lua +-- no 'create' can be passed in the string form, hence a local copy here +local function parse(u) + local t = socket.try(url.parse(u, default)) + socket.try(t.scheme == "ftp", "wrong scheme '" .. t.scheme .. "'") + socket.try(t.host, "missing hostname") + local pat = "^type=(.)$" + if t.params then + t.type = socket.skip(2, string.find(t.params, pat)) + socket.try(t.type == "a" or t.type == "i", + "invalid type '" .. t.type .. "'") + end + return t +end + +-- parses a simple form into the advanced form +-- if `body` is provided, a PUT, otherwise a GET. +-- If GET, then a field `target` is added to store the results +_M.parseRequest = function(u, body) + local t = parse(u) + if body then + t.source = ltn12.source.string(body) + else + t.target = {} + t.sink = ltn12.sink.table(t.target) + end +end +--]] + +_M.put = socket.protect(function(putt, body) + if type(putt) == "string" then + putt = _M.parseRequest(putt, body) + _M.put(putt) + return table.concat(putt.target) + else + putt.create = putt.create or create + return ftp.put(putt) + end +end) + +_M.get = socket.protect(function(gett) + if type(gett) == "string" then + gett = _M.parseRequest(gett) + _M.get(gett) + return table.concat(gett.target) + else + gett.create = gett.create or create + return ftp.get(gett) + end +end) + +_M.command = function(cmdt) + cmdt.create = cmdt.create or create + return ftp.command(cmdt) +end + +return _M diff --git a/copas/ftp.lua~~ b/copas/ftp.lua~~ new file mode 100644 index 0000000..109161f --- /dev/null +++ b/copas/ftp.lua~~ @@ -0,0 +1,95 @@ +------------------------------------------------------------------- +-- identical to the socket.ftp module except that it uses +-- async wrapped Copas sockets + +local copas = require("copas") +local socket = require("socket") +local ftp = require("socket.ftp") +local ltn12 = require("ltn12") +local url = require("socket.url") + + +local create = function() return copas.wrap(socket.tcp()) end +local forwards = { -- setting these will be forwarded to the original smtp module + PORT = true, + TIMEOUT = true, + PASSWORD = true, + USER = true +} + +copas.ftp = setmetatable({}, { + -- use original module as metatable, to lookup constants like socket.TIMEOUT, etc. + __index = ftp, + -- Setting constants is forwarded to the luasocket.ftp module. + __newindex = function(self, key, value) + if forwards[key] then ftp[key] = value return end + return rawset(self, key, value) + end, + }) +local _M = copas.ftp + +---[[ copy of Luasocket stuff here untile PR #133 is accepted +-- a copy of the version in LuaSockets' ftp.lua +-- no 'create' can be passed in the string form, hence a local copy here +local default = { + path = "/", + scheme = "ftp" +} + +-- a copy of the version in LuaSockets' ftp.lua +-- no 'create' can be passed in the string form, hence a local copy here +local function parse(u) + local t = socket.try(url.parse(u, default)) + socket.try(t.scheme == "ftp", "wrong scheme '" .. t.scheme .. "'") + socket.try(t.host, "missing hostname") + local pat = "^type=(.)$" + if t.params then + t.type = socket.skip(2, string.find(t.params, pat)) + socket.try(t.type == "a" or t.type == "i", + "invalid type '" .. t.type .. "'") + end + return t +end + +-- parses a simple form into the advanced form +-- if `body` is provided, a PUT, otherwise a GET. +-- If GET, then a field `target` is added to store the results +_M.parseRequest = function(u, body) + local t = parse(u) + if body then + t.source = ltn12.source.string(body) + else + t.target = {} + t.sink = ltn12.sink.table(t.target) + end +end +--]] + +_M.put = socket.protect(function(putt, body) + if type(putt) == "string" then + putt = _M.parseRequest(putt, body) + _M.put(putt) + return table.concat(putt.target) + else + putt.create = putt.create or create + return ftp.put(putt) + end +end) + +_M.get = socket.protect(function(gett) + if type(gett) == "string" then + gett = _M.parseRequest(gett) + _M.get(gett) + return table.concat(gett.target) + else + gett.create = gett.create or create + return ftp.get(gett) + end +end) + +_M.command = function(cmdt) + cmdt.create = cmdt.create or create + return ftp.command(cmdt) +end + +return _M diff --git a/copas/http.lua b/copas/http.lua new file mode 100644 index 0000000..89246af --- /dev/null +++ b/copas/http.lua @@ -0,0 +1,413 @@ +----------------------------------------------------------------------------- +-- Full copy of the LuaSocket code, modified to include +-- https and http/https redirects, and Copas async enabled. +----------------------------------------------------------------------------- +-- HTTP/1.1 client support for the Lua language. +-- LuaSocket toolkit. +-- Author: Diego Nehab +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +------------------------------------------------------------------------------- +local socket = require("socket") +local url = require("socket.url") +local ltn12 = require("ltn12") +local mime = require("mime") +local string = require("string") +local headers = require("socket.headers") +local base = _G +local table = require("table") +local try = socket.try +local copas = require("copas") +copas.http = {} +local _M = copas.http + +----------------------------------------------------------------------------- +-- Program constants +----------------------------------------------------------------------------- +-- connection timeout in seconds +_M.TIMEOUT = 60 +-- default port for document retrieval +_M.PORT = 80 +-- user agent field sent in request +_M.USERAGENT = socket._VERSION + +-- Default settings for SSL +_M.SSLPORT = 443 +_M.SSLPROTOCOL = "tlsv1_2" +_M.SSLOPTIONS = "all" +_M.SSLVERIFY = "none" + + +----------------------------------------------------------------------------- +-- Reads MIME headers from a connection, unfolding where needed +----------------------------------------------------------------------------- +local function receiveheaders(sock, headers) + local line, name, value, err + headers = headers or {} + -- get first line + line, err = sock:receive() + if err then return nil, err end + -- headers go until a blank line is found + while line ~= "" do + -- get field-name and value + name, value = socket.skip(2, string.find(line, "^(.-):%s*(.*)")) + if not (name and value) then return nil, "malformed reponse headers" end + name = string.lower(name) + -- get next line (value might be folded) + line, err = sock:receive() + if err then return nil, err end + -- unfold any folded values + while string.find(line, "^%s") do + value = value .. line + line = sock:receive() + if err then return nil, err end + end + -- save pair in table + if headers[name] then headers[name] = headers[name] .. ", " .. value + else headers[name] = value end + end + return headers +end + +----------------------------------------------------------------------------- +-- Extra sources and sinks +----------------------------------------------------------------------------- +socket.sourcet["http-chunked"] = function(sock, headers) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function() + -- get chunk size, skip extention + local line, err = sock:receive() + if err then return nil, err end + local size = base.tonumber(string.gsub(line, ";.*", ""), 16) + if not size then return nil, "invalid chunk size" end + -- was it the last chunk? + if size > 0 then + -- if not, get chunk and skip terminating CRLF + local chunk, err = sock:receive(size) + if chunk then sock:receive() end + return chunk, err + else + -- if it was, read trailers into headers table + headers, err = receiveheaders(sock, headers) + if not headers then return nil, err end + end + end + }) +end + +socket.sinkt["http-chunked"] = function(sock) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function(self, chunk, err) + if not chunk then return sock:send("0\r\n\r\n") end + local size = string.format("%X\r\n", string.len(chunk)) + return sock:send(size .. chunk .. "\r\n") + end + }) +end + +----------------------------------------------------------------------------- +-- Low level HTTP API +----------------------------------------------------------------------------- +local metat = { __index = {} } + +function _M.open(reqt) + -- create socket with user connect function + local c = socket.try(reqt:create()) -- method call, passing reqt table as self! + local h = base.setmetatable({ c = c }, metat) + -- create finalized try + h.try = socket.newtry(function() h:close() end) + -- set timeout before connecting + h.try(c:settimeout(_M.TIMEOUT)) + h.try(c:connect(reqt.host, reqt.port or _M.PORT)) + -- here everything worked + return h +end + +function metat.__index:sendrequestline(method, uri) + local reqline = string.format("%s %s HTTP/1.1\r\n", method or "GET", uri) + return self.try(self.c:send(reqline)) +end + +function metat.__index:sendheaders(tosend) + local canonic = headers.canonic + local h = "\r\n" + for f, v in base.pairs(tosend) do + h = (canonic[f] or f) .. ": " .. v .. "\r\n" .. h + end + self.try(self.c:send(h)) + return 1 +end + +function metat.__index:sendbody(headers, source, step) + source = source or ltn12.source.empty() + step = step or ltn12.pump.step + -- if we don't know the size in advance, send chunked and hope for the best + local mode = "http-chunked" + if headers["content-length"] then mode = "keep-open" end + return self.try(ltn12.pump.all(source, socket.sink(mode, self.c), step)) +end + +function metat.__index:receivestatusline() + local status = self.try(self.c:receive(5)) + -- identify HTTP/0.9 responses, which do not contain a status line + -- this is just a heuristic, but is what the RFC recommends + if status ~= "HTTP/" then return nil, status end + -- otherwise proceed reading a status line + status = self.try(self.c:receive("*l", status)) + local code = socket.skip(2, string.find(status, "HTTP/%d*%.%d* (%d%d%d)")) + return self.try(base.tonumber(code), status) +end + +function metat.__index:receiveheaders() + return self.try(receiveheaders(self.c)) +end + +function metat.__index:receivebody(headers, sink, step) + sink = sink or ltn12.sink.null() + step = step or ltn12.pump.step + local length = base.tonumber(headers["content-length"]) + local t = headers["transfer-encoding"] -- shortcut + local mode = "default" -- connection close + if t and t ~= "identity" then mode = "http-chunked" + elseif base.tonumber(headers["content-length"]) then mode = "by-length" end + return self.try(ltn12.pump.all(socket.source(mode, self.c, length), + sink, step)) +end + +function metat.__index:receive09body(status, sink, step) + local source = ltn12.source.rewind(socket.source("until-closed", self.c)) + source(status) + return self.try(ltn12.pump.all(source, sink, step)) +end + +function metat.__index:close() + return self.c:close() +end + +----------------------------------------------------------------------------- +-- High level HTTP API +----------------------------------------------------------------------------- +local function adjusturi(reqt) + local u = reqt + -- if there is a proxy, we need the full url. otherwise, just a part. + if not reqt.proxy and not _M.PROXY then + u = { + path = socket.try(reqt.path, "invalid path 'nil'"), + params = reqt.params, + query = reqt.query, + fragment = reqt.fragment + } + end + return url.build(u) +end + +local function adjustproxy(reqt) + local proxy = reqt.proxy or _M.PROXY + if proxy then + proxy = url.parse(proxy) + return proxy.host, proxy.port or 3128 + else + return reqt.host, reqt.port + end +end + +local function adjustheaders(reqt) + -- default headers + local host = string.gsub(reqt.authority, "^.-@", "") + local lower = { + ["user-agent"] = _M.USERAGENT, + ["host"] = host, + ["connection"] = "close, TE", + ["te"] = "trailers" + } + -- if we have authentication information, pass it along + if reqt.user and reqt.password then + lower["authorization"] = + "Basic " .. (mime.b64(reqt.user .. ":" .. reqt.password)) + end + -- override with user headers + for i,v in base.pairs(reqt.headers or lower) do + lower[string.lower(i)] = v + end + return lower +end + +-- default url parts +local default = { + host = "", + port = _M.PORT, + path ="/", + scheme = "http" +} + +local function adjustrequest(reqt) + -- parse url if provided + local nreqt = reqt.url and url.parse(reqt.url, default) or {} + -- explicit components override url + for i,v in base.pairs(reqt) do nreqt[i] = v end + if nreqt.port == "" then nreqt.port = 80 end + socket.try(nreqt.host and nreqt.host ~= "", + "invalid host '" .. base.tostring(nreqt.host) .. "'") + -- compute uri if user hasn't overriden + nreqt.uri = reqt.uri or adjusturi(nreqt) + -- ajust host and port if there is a proxy + nreqt.host, nreqt.port = adjustproxy(nreqt) + -- adjust headers in request + nreqt.headers = adjustheaders(nreqt) + return nreqt +end + +local function shouldredirect(reqt, code, headers) + return headers.location and + string.gsub(headers.location, "%s", "") ~= "" and + (reqt.redirect ~= false) and + (code == 301 or code == 302 or code == 303 or code == 307) and + (not reqt.method or reqt.method == "GET" or reqt.method == "HEAD") + and (not reqt.nredirects or reqt.nredirects < 5) +end + +local function shouldreceivebody(reqt, code) + if reqt.method == "HEAD" then return nil end + if code == 204 or code == 304 then return nil end + if code >= 100 and code < 200 then return nil end + return 1 +end + +-- forward declarations +local trequest, tredirect + +--[[local]] function tredirect(reqt, location) + local result, code, headers, status = trequest { + -- the RFC says the redirect URL has to be absolute, but some + -- servers do not respect that + url = url.absolute(reqt.url, location), + source = reqt.source, + sink = reqt.sink, + headers = reqt.headers, + proxy = reqt.proxy, + nredirects = (reqt.nredirects or 0) + 1, + create = reqt.create + } + -- pass location header back as a hint we redirected + headers = headers or {} + headers.location = headers.location or location + return result, code, headers, status +end + +--[[local]] function trequest(reqt) + -- we loop until we get what we want, or + -- until we are sure there is no way to get it + local nreqt = adjustrequest(reqt) + local h = _M.open(nreqt) + -- send request line and headers + h:sendrequestline(nreqt.method, nreqt.uri) + h:sendheaders(nreqt.headers) + -- if there is a body, send it + if nreqt.source then + h:sendbody(nreqt.headers, nreqt.source, nreqt.step) + end + local code, status = h:receivestatusline() + -- if it is an HTTP/0.9 server, simply get the body and we are done + if not code then + h:receive09body(status, nreqt.sink, nreqt.step) + return 1, 200 + end + local headers + -- ignore any 100-continue messages + while code == 100 do + headers = h:receiveheaders() + code, status = h:receivestatusline() + end + headers = h:receiveheaders() + -- at this point we should have a honest reply from the server + -- we can't redirect if we already used the source, so we report the error + if shouldredirect(nreqt, code, headers) and not nreqt.source then + h:close() + return tredirect(reqt, headers.location) + end + -- here we are finally done + if shouldreceivebody(nreqt, code) then + h:receivebody(headers, nreqt.sink, nreqt.step) + end + h:close() + return 1, code, headers, status +end + +-- Return a function which performs the SSL/TLS connection. +local function tcp(params) + params = params or {} + -- Default settings + params.protocol = params.protocol or _M.SSLPROTOCOL + params.options = params.options or _M.SSLOPTIONS + params.verify = params.verify or _M.SSLVERIFY + params.mode = "client" -- Force client mode + -- upvalue to track https -> http redirection + local washttps = false + -- 'create' function for LuaSocket + return function (reqt) + local u = url.parse(reqt.url) + if (reqt.scheme or u.scheme) == "https" then + -- https, provide an ssl wrapped socket + local conn = copas.wrap(socket.tcp(), params) + -- insert https default port, overriding http port inserted by LuaSocket + if not u.port then + u.port = _M.SSLPORT + reqt.url = url.build(u) + reqt.port = _M.SSLPORT + end + washttps = true + return conn + else + -- regular http, needs just a socket... + if washttps and params.redirect ~= "all" then + try(nil, "Unallowed insecure redirect https to http") + end + return copas.wrap(socket.tcp()) + end + end +end + +-- parses a shorthand form into the advanced table form. +-- adds field `target` to the table. This will hold the return values. +_M.parseRequest = function(u, b) + local reqt = { + url = u, + target = {}, + } + reqt.sink = ltn12.sink.table(reqt.target) + if b then + reqt.source = ltn12.source.string(b) + reqt.headers = { + ["content-length"] = string.len(b), + ["content-type"] = "application/x-www-form-urlencoded" + } + reqt.method = "POST" + end + return reqt +end + +_M.request = socket.protect(function(reqt, body) + if base.type(reqt) == "string" then + reqt = _M.parseRequest(reqt, body) + local ok, code, headers, status = _M.request(reqt) + + if ok then + return table.concat(reqt.target), code, headers, status + else + return nil, code + end + else + reqt.create = reqt.create or tcp(reqt) + return trequest(reqt) + end +end) + +return _M diff --git a/copas/http.lua~ b/copas/http.lua~ new file mode 100644 index 0000000..89246af --- /dev/null +++ b/copas/http.lua~ @@ -0,0 +1,413 @@ +----------------------------------------------------------------------------- +-- Full copy of the LuaSocket code, modified to include +-- https and http/https redirects, and Copas async enabled. +----------------------------------------------------------------------------- +-- HTTP/1.1 client support for the Lua language. +-- LuaSocket toolkit. +-- Author: Diego Nehab +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +------------------------------------------------------------------------------- +local socket = require("socket") +local url = require("socket.url") +local ltn12 = require("ltn12") +local mime = require("mime") +local string = require("string") +local headers = require("socket.headers") +local base = _G +local table = require("table") +local try = socket.try +local copas = require("copas") +copas.http = {} +local _M = copas.http + +----------------------------------------------------------------------------- +-- Program constants +----------------------------------------------------------------------------- +-- connection timeout in seconds +_M.TIMEOUT = 60 +-- default port for document retrieval +_M.PORT = 80 +-- user agent field sent in request +_M.USERAGENT = socket._VERSION + +-- Default settings for SSL +_M.SSLPORT = 443 +_M.SSLPROTOCOL = "tlsv1_2" +_M.SSLOPTIONS = "all" +_M.SSLVERIFY = "none" + + +----------------------------------------------------------------------------- +-- Reads MIME headers from a connection, unfolding where needed +----------------------------------------------------------------------------- +local function receiveheaders(sock, headers) + local line, name, value, err + headers = headers or {} + -- get first line + line, err = sock:receive() + if err then return nil, err end + -- headers go until a blank line is found + while line ~= "" do + -- get field-name and value + name, value = socket.skip(2, string.find(line, "^(.-):%s*(.*)")) + if not (name and value) then return nil, "malformed reponse headers" end + name = string.lower(name) + -- get next line (value might be folded) + line, err = sock:receive() + if err then return nil, err end + -- unfold any folded values + while string.find(line, "^%s") do + value = value .. line + line = sock:receive() + if err then return nil, err end + end + -- save pair in table + if headers[name] then headers[name] = headers[name] .. ", " .. value + else headers[name] = value end + end + return headers +end + +----------------------------------------------------------------------------- +-- Extra sources and sinks +----------------------------------------------------------------------------- +socket.sourcet["http-chunked"] = function(sock, headers) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function() + -- get chunk size, skip extention + local line, err = sock:receive() + if err then return nil, err end + local size = base.tonumber(string.gsub(line, ";.*", ""), 16) + if not size then return nil, "invalid chunk size" end + -- was it the last chunk? + if size > 0 then + -- if not, get chunk and skip terminating CRLF + local chunk, err = sock:receive(size) + if chunk then sock:receive() end + return chunk, err + else + -- if it was, read trailers into headers table + headers, err = receiveheaders(sock, headers) + if not headers then return nil, err end + end + end + }) +end + +socket.sinkt["http-chunked"] = function(sock) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function(self, chunk, err) + if not chunk then return sock:send("0\r\n\r\n") end + local size = string.format("%X\r\n", string.len(chunk)) + return sock:send(size .. chunk .. "\r\n") + end + }) +end + +----------------------------------------------------------------------------- +-- Low level HTTP API +----------------------------------------------------------------------------- +local metat = { __index = {} } + +function _M.open(reqt) + -- create socket with user connect function + local c = socket.try(reqt:create()) -- method call, passing reqt table as self! + local h = base.setmetatable({ c = c }, metat) + -- create finalized try + h.try = socket.newtry(function() h:close() end) + -- set timeout before connecting + h.try(c:settimeout(_M.TIMEOUT)) + h.try(c:connect(reqt.host, reqt.port or _M.PORT)) + -- here everything worked + return h +end + +function metat.__index:sendrequestline(method, uri) + local reqline = string.format("%s %s HTTP/1.1\r\n", method or "GET", uri) + return self.try(self.c:send(reqline)) +end + +function metat.__index:sendheaders(tosend) + local canonic = headers.canonic + local h = "\r\n" + for f, v in base.pairs(tosend) do + h = (canonic[f] or f) .. ": " .. v .. "\r\n" .. h + end + self.try(self.c:send(h)) + return 1 +end + +function metat.__index:sendbody(headers, source, step) + source = source or ltn12.source.empty() + step = step or ltn12.pump.step + -- if we don't know the size in advance, send chunked and hope for the best + local mode = "http-chunked" + if headers["content-length"] then mode = "keep-open" end + return self.try(ltn12.pump.all(source, socket.sink(mode, self.c), step)) +end + +function metat.__index:receivestatusline() + local status = self.try(self.c:receive(5)) + -- identify HTTP/0.9 responses, which do not contain a status line + -- this is just a heuristic, but is what the RFC recommends + if status ~= "HTTP/" then return nil, status end + -- otherwise proceed reading a status line + status = self.try(self.c:receive("*l", status)) + local code = socket.skip(2, string.find(status, "HTTP/%d*%.%d* (%d%d%d)")) + return self.try(base.tonumber(code), status) +end + +function metat.__index:receiveheaders() + return self.try(receiveheaders(self.c)) +end + +function metat.__index:receivebody(headers, sink, step) + sink = sink or ltn12.sink.null() + step = step or ltn12.pump.step + local length = base.tonumber(headers["content-length"]) + local t = headers["transfer-encoding"] -- shortcut + local mode = "default" -- connection close + if t and t ~= "identity" then mode = "http-chunked" + elseif base.tonumber(headers["content-length"]) then mode = "by-length" end + return self.try(ltn12.pump.all(socket.source(mode, self.c, length), + sink, step)) +end + +function metat.__index:receive09body(status, sink, step) + local source = ltn12.source.rewind(socket.source("until-closed", self.c)) + source(status) + return self.try(ltn12.pump.all(source, sink, step)) +end + +function metat.__index:close() + return self.c:close() +end + +----------------------------------------------------------------------------- +-- High level HTTP API +----------------------------------------------------------------------------- +local function adjusturi(reqt) + local u = reqt + -- if there is a proxy, we need the full url. otherwise, just a part. + if not reqt.proxy and not _M.PROXY then + u = { + path = socket.try(reqt.path, "invalid path 'nil'"), + params = reqt.params, + query = reqt.query, + fragment = reqt.fragment + } + end + return url.build(u) +end + +local function adjustproxy(reqt) + local proxy = reqt.proxy or _M.PROXY + if proxy then + proxy = url.parse(proxy) + return proxy.host, proxy.port or 3128 + else + return reqt.host, reqt.port + end +end + +local function adjustheaders(reqt) + -- default headers + local host = string.gsub(reqt.authority, "^.-@", "") + local lower = { + ["user-agent"] = _M.USERAGENT, + ["host"] = host, + ["connection"] = "close, TE", + ["te"] = "trailers" + } + -- if we have authentication information, pass it along + if reqt.user and reqt.password then + lower["authorization"] = + "Basic " .. (mime.b64(reqt.user .. ":" .. reqt.password)) + end + -- override with user headers + for i,v in base.pairs(reqt.headers or lower) do + lower[string.lower(i)] = v + end + return lower +end + +-- default url parts +local default = { + host = "", + port = _M.PORT, + path ="/", + scheme = "http" +} + +local function adjustrequest(reqt) + -- parse url if provided + local nreqt = reqt.url and url.parse(reqt.url, default) or {} + -- explicit components override url + for i,v in base.pairs(reqt) do nreqt[i] = v end + if nreqt.port == "" then nreqt.port = 80 end + socket.try(nreqt.host and nreqt.host ~= "", + "invalid host '" .. base.tostring(nreqt.host) .. "'") + -- compute uri if user hasn't overriden + nreqt.uri = reqt.uri or adjusturi(nreqt) + -- ajust host and port if there is a proxy + nreqt.host, nreqt.port = adjustproxy(nreqt) + -- adjust headers in request + nreqt.headers = adjustheaders(nreqt) + return nreqt +end + +local function shouldredirect(reqt, code, headers) + return headers.location and + string.gsub(headers.location, "%s", "") ~= "" and + (reqt.redirect ~= false) and + (code == 301 or code == 302 or code == 303 or code == 307) and + (not reqt.method or reqt.method == "GET" or reqt.method == "HEAD") + and (not reqt.nredirects or reqt.nredirects < 5) +end + +local function shouldreceivebody(reqt, code) + if reqt.method == "HEAD" then return nil end + if code == 204 or code == 304 then return nil end + if code >= 100 and code < 200 then return nil end + return 1 +end + +-- forward declarations +local trequest, tredirect + +--[[local]] function tredirect(reqt, location) + local result, code, headers, status = trequest { + -- the RFC says the redirect URL has to be absolute, but some + -- servers do not respect that + url = url.absolute(reqt.url, location), + source = reqt.source, + sink = reqt.sink, + headers = reqt.headers, + proxy = reqt.proxy, + nredirects = (reqt.nredirects or 0) + 1, + create = reqt.create + } + -- pass location header back as a hint we redirected + headers = headers or {} + headers.location = headers.location or location + return result, code, headers, status +end + +--[[local]] function trequest(reqt) + -- we loop until we get what we want, or + -- until we are sure there is no way to get it + local nreqt = adjustrequest(reqt) + local h = _M.open(nreqt) + -- send request line and headers + h:sendrequestline(nreqt.method, nreqt.uri) + h:sendheaders(nreqt.headers) + -- if there is a body, send it + if nreqt.source then + h:sendbody(nreqt.headers, nreqt.source, nreqt.step) + end + local code, status = h:receivestatusline() + -- if it is an HTTP/0.9 server, simply get the body and we are done + if not code then + h:receive09body(status, nreqt.sink, nreqt.step) + return 1, 200 + end + local headers + -- ignore any 100-continue messages + while code == 100 do + headers = h:receiveheaders() + code, status = h:receivestatusline() + end + headers = h:receiveheaders() + -- at this point we should have a honest reply from the server + -- we can't redirect if we already used the source, so we report the error + if shouldredirect(nreqt, code, headers) and not nreqt.source then + h:close() + return tredirect(reqt, headers.location) + end + -- here we are finally done + if shouldreceivebody(nreqt, code) then + h:receivebody(headers, nreqt.sink, nreqt.step) + end + h:close() + return 1, code, headers, status +end + +-- Return a function which performs the SSL/TLS connection. +local function tcp(params) + params = params or {} + -- Default settings + params.protocol = params.protocol or _M.SSLPROTOCOL + params.options = params.options or _M.SSLOPTIONS + params.verify = params.verify or _M.SSLVERIFY + params.mode = "client" -- Force client mode + -- upvalue to track https -> http redirection + local washttps = false + -- 'create' function for LuaSocket + return function (reqt) + local u = url.parse(reqt.url) + if (reqt.scheme or u.scheme) == "https" then + -- https, provide an ssl wrapped socket + local conn = copas.wrap(socket.tcp(), params) + -- insert https default port, overriding http port inserted by LuaSocket + if not u.port then + u.port = _M.SSLPORT + reqt.url = url.build(u) + reqt.port = _M.SSLPORT + end + washttps = true + return conn + else + -- regular http, needs just a socket... + if washttps and params.redirect ~= "all" then + try(nil, "Unallowed insecure redirect https to http") + end + return copas.wrap(socket.tcp()) + end + end +end + +-- parses a shorthand form into the advanced table form. +-- adds field `target` to the table. This will hold the return values. +_M.parseRequest = function(u, b) + local reqt = { + url = u, + target = {}, + } + reqt.sink = ltn12.sink.table(reqt.target) + if b then + reqt.source = ltn12.source.string(b) + reqt.headers = { + ["content-length"] = string.len(b), + ["content-type"] = "application/x-www-form-urlencoded" + } + reqt.method = "POST" + end + return reqt +end + +_M.request = socket.protect(function(reqt, body) + if base.type(reqt) == "string" then + reqt = _M.parseRequest(reqt, body) + local ok, code, headers, status = _M.request(reqt) + + if ok then + return table.concat(reqt.target), code, headers, status + else + return nil, code + end + else + reqt.create = reqt.create or tcp(reqt) + return trequest(reqt) + end +end) + +return _M diff --git a/copas/http.lua~~ b/copas/http.lua~~ new file mode 100644 index 0000000..89246af --- /dev/null +++ b/copas/http.lua~~ @@ -0,0 +1,413 @@ +----------------------------------------------------------------------------- +-- Full copy of the LuaSocket code, modified to include +-- https and http/https redirects, and Copas async enabled. +----------------------------------------------------------------------------- +-- HTTP/1.1 client support for the Lua language. +-- LuaSocket toolkit. +-- Author: Diego Nehab +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +------------------------------------------------------------------------------- +local socket = require("socket") +local url = require("socket.url") +local ltn12 = require("ltn12") +local mime = require("mime") +local string = require("string") +local headers = require("socket.headers") +local base = _G +local table = require("table") +local try = socket.try +local copas = require("copas") +copas.http = {} +local _M = copas.http + +----------------------------------------------------------------------------- +-- Program constants +----------------------------------------------------------------------------- +-- connection timeout in seconds +_M.TIMEOUT = 60 +-- default port for document retrieval +_M.PORT = 80 +-- user agent field sent in request +_M.USERAGENT = socket._VERSION + +-- Default settings for SSL +_M.SSLPORT = 443 +_M.SSLPROTOCOL = "tlsv1_2" +_M.SSLOPTIONS = "all" +_M.SSLVERIFY = "none" + + +----------------------------------------------------------------------------- +-- Reads MIME headers from a connection, unfolding where needed +----------------------------------------------------------------------------- +local function receiveheaders(sock, headers) + local line, name, value, err + headers = headers or {} + -- get first line + line, err = sock:receive() + if err then return nil, err end + -- headers go until a blank line is found + while line ~= "" do + -- get field-name and value + name, value = socket.skip(2, string.find(line, "^(.-):%s*(.*)")) + if not (name and value) then return nil, "malformed reponse headers" end + name = string.lower(name) + -- get next line (value might be folded) + line, err = sock:receive() + if err then return nil, err end + -- unfold any folded values + while string.find(line, "^%s") do + value = value .. line + line = sock:receive() + if err then return nil, err end + end + -- save pair in table + if headers[name] then headers[name] = headers[name] .. ", " .. value + else headers[name] = value end + end + return headers +end + +----------------------------------------------------------------------------- +-- Extra sources and sinks +----------------------------------------------------------------------------- +socket.sourcet["http-chunked"] = function(sock, headers) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function() + -- get chunk size, skip extention + local line, err = sock:receive() + if err then return nil, err end + local size = base.tonumber(string.gsub(line, ";.*", ""), 16) + if not size then return nil, "invalid chunk size" end + -- was it the last chunk? + if size > 0 then + -- if not, get chunk and skip terminating CRLF + local chunk, err = sock:receive(size) + if chunk then sock:receive() end + return chunk, err + else + -- if it was, read trailers into headers table + headers, err = receiveheaders(sock, headers) + if not headers then return nil, err end + end + end + }) +end + +socket.sinkt["http-chunked"] = function(sock) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function(self, chunk, err) + if not chunk then return sock:send("0\r\n\r\n") end + local size = string.format("%X\r\n", string.len(chunk)) + return sock:send(size .. chunk .. "\r\n") + end + }) +end + +----------------------------------------------------------------------------- +-- Low level HTTP API +----------------------------------------------------------------------------- +local metat = { __index = {} } + +function _M.open(reqt) + -- create socket with user connect function + local c = socket.try(reqt:create()) -- method call, passing reqt table as self! + local h = base.setmetatable({ c = c }, metat) + -- create finalized try + h.try = socket.newtry(function() h:close() end) + -- set timeout before connecting + h.try(c:settimeout(_M.TIMEOUT)) + h.try(c:connect(reqt.host, reqt.port or _M.PORT)) + -- here everything worked + return h +end + +function metat.__index:sendrequestline(method, uri) + local reqline = string.format("%s %s HTTP/1.1\r\n", method or "GET", uri) + return self.try(self.c:send(reqline)) +end + +function metat.__index:sendheaders(tosend) + local canonic = headers.canonic + local h = "\r\n" + for f, v in base.pairs(tosend) do + h = (canonic[f] or f) .. ": " .. v .. "\r\n" .. h + end + self.try(self.c:send(h)) + return 1 +end + +function metat.__index:sendbody(headers, source, step) + source = source or ltn12.source.empty() + step = step or ltn12.pump.step + -- if we don't know the size in advance, send chunked and hope for the best + local mode = "http-chunked" + if headers["content-length"] then mode = "keep-open" end + return self.try(ltn12.pump.all(source, socket.sink(mode, self.c), step)) +end + +function metat.__index:receivestatusline() + local status = self.try(self.c:receive(5)) + -- identify HTTP/0.9 responses, which do not contain a status line + -- this is just a heuristic, but is what the RFC recommends + if status ~= "HTTP/" then return nil, status end + -- otherwise proceed reading a status line + status = self.try(self.c:receive("*l", status)) + local code = socket.skip(2, string.find(status, "HTTP/%d*%.%d* (%d%d%d)")) + return self.try(base.tonumber(code), status) +end + +function metat.__index:receiveheaders() + return self.try(receiveheaders(self.c)) +end + +function metat.__index:receivebody(headers, sink, step) + sink = sink or ltn12.sink.null() + step = step or ltn12.pump.step + local length = base.tonumber(headers["content-length"]) + local t = headers["transfer-encoding"] -- shortcut + local mode = "default" -- connection close + if t and t ~= "identity" then mode = "http-chunked" + elseif base.tonumber(headers["content-length"]) then mode = "by-length" end + return self.try(ltn12.pump.all(socket.source(mode, self.c, length), + sink, step)) +end + +function metat.__index:receive09body(status, sink, step) + local source = ltn12.source.rewind(socket.source("until-closed", self.c)) + source(status) + return self.try(ltn12.pump.all(source, sink, step)) +end + +function metat.__index:close() + return self.c:close() +end + +----------------------------------------------------------------------------- +-- High level HTTP API +----------------------------------------------------------------------------- +local function adjusturi(reqt) + local u = reqt + -- if there is a proxy, we need the full url. otherwise, just a part. + if not reqt.proxy and not _M.PROXY then + u = { + path = socket.try(reqt.path, "invalid path 'nil'"), + params = reqt.params, + query = reqt.query, + fragment = reqt.fragment + } + end + return url.build(u) +end + +local function adjustproxy(reqt) + local proxy = reqt.proxy or _M.PROXY + if proxy then + proxy = url.parse(proxy) + return proxy.host, proxy.port or 3128 + else + return reqt.host, reqt.port + end +end + +local function adjustheaders(reqt) + -- default headers + local host = string.gsub(reqt.authority, "^.-@", "") + local lower = { + ["user-agent"] = _M.USERAGENT, + ["host"] = host, + ["connection"] = "close, TE", + ["te"] = "trailers" + } + -- if we have authentication information, pass it along + if reqt.user and reqt.password then + lower["authorization"] = + "Basic " .. (mime.b64(reqt.user .. ":" .. reqt.password)) + end + -- override with user headers + for i,v in base.pairs(reqt.headers or lower) do + lower[string.lower(i)] = v + end + return lower +end + +-- default url parts +local default = { + host = "", + port = _M.PORT, + path ="/", + scheme = "http" +} + +local function adjustrequest(reqt) + -- parse url if provided + local nreqt = reqt.url and url.parse(reqt.url, default) or {} + -- explicit components override url + for i,v in base.pairs(reqt) do nreqt[i] = v end + if nreqt.port == "" then nreqt.port = 80 end + socket.try(nreqt.host and nreqt.host ~= "", + "invalid host '" .. base.tostring(nreqt.host) .. "'") + -- compute uri if user hasn't overriden + nreqt.uri = reqt.uri or adjusturi(nreqt) + -- ajust host and port if there is a proxy + nreqt.host, nreqt.port = adjustproxy(nreqt) + -- adjust headers in request + nreqt.headers = adjustheaders(nreqt) + return nreqt +end + +local function shouldredirect(reqt, code, headers) + return headers.location and + string.gsub(headers.location, "%s", "") ~= "" and + (reqt.redirect ~= false) and + (code == 301 or code == 302 or code == 303 or code == 307) and + (not reqt.method or reqt.method == "GET" or reqt.method == "HEAD") + and (not reqt.nredirects or reqt.nredirects < 5) +end + +local function shouldreceivebody(reqt, code) + if reqt.method == "HEAD" then return nil end + if code == 204 or code == 304 then return nil end + if code >= 100 and code < 200 then return nil end + return 1 +end + +-- forward declarations +local trequest, tredirect + +--[[local]] function tredirect(reqt, location) + local result, code, headers, status = trequest { + -- the RFC says the redirect URL has to be absolute, but some + -- servers do not respect that + url = url.absolute(reqt.url, location), + source = reqt.source, + sink = reqt.sink, + headers = reqt.headers, + proxy = reqt.proxy, + nredirects = (reqt.nredirects or 0) + 1, + create = reqt.create + } + -- pass location header back as a hint we redirected + headers = headers or {} + headers.location = headers.location or location + return result, code, headers, status +end + +--[[local]] function trequest(reqt) + -- we loop until we get what we want, or + -- until we are sure there is no way to get it + local nreqt = adjustrequest(reqt) + local h = _M.open(nreqt) + -- send request line and headers + h:sendrequestline(nreqt.method, nreqt.uri) + h:sendheaders(nreqt.headers) + -- if there is a body, send it + if nreqt.source then + h:sendbody(nreqt.headers, nreqt.source, nreqt.step) + end + local code, status = h:receivestatusline() + -- if it is an HTTP/0.9 server, simply get the body and we are done + if not code then + h:receive09body(status, nreqt.sink, nreqt.step) + return 1, 200 + end + local headers + -- ignore any 100-continue messages + while code == 100 do + headers = h:receiveheaders() + code, status = h:receivestatusline() + end + headers = h:receiveheaders() + -- at this point we should have a honest reply from the server + -- we can't redirect if we already used the source, so we report the error + if shouldredirect(nreqt, code, headers) and not nreqt.source then + h:close() + return tredirect(reqt, headers.location) + end + -- here we are finally done + if shouldreceivebody(nreqt, code) then + h:receivebody(headers, nreqt.sink, nreqt.step) + end + h:close() + return 1, code, headers, status +end + +-- Return a function which performs the SSL/TLS connection. +local function tcp(params) + params = params or {} + -- Default settings + params.protocol = params.protocol or _M.SSLPROTOCOL + params.options = params.options or _M.SSLOPTIONS + params.verify = params.verify or _M.SSLVERIFY + params.mode = "client" -- Force client mode + -- upvalue to track https -> http redirection + local washttps = false + -- 'create' function for LuaSocket + return function (reqt) + local u = url.parse(reqt.url) + if (reqt.scheme or u.scheme) == "https" then + -- https, provide an ssl wrapped socket + local conn = copas.wrap(socket.tcp(), params) + -- insert https default port, overriding http port inserted by LuaSocket + if not u.port then + u.port = _M.SSLPORT + reqt.url = url.build(u) + reqt.port = _M.SSLPORT + end + washttps = true + return conn + else + -- regular http, needs just a socket... + if washttps and params.redirect ~= "all" then + try(nil, "Unallowed insecure redirect https to http") + end + return copas.wrap(socket.tcp()) + end + end +end + +-- parses a shorthand form into the advanced table form. +-- adds field `target` to the table. This will hold the return values. +_M.parseRequest = function(u, b) + local reqt = { + url = u, + target = {}, + } + reqt.sink = ltn12.sink.table(reqt.target) + if b then + reqt.source = ltn12.source.string(b) + reqt.headers = { + ["content-length"] = string.len(b), + ["content-type"] = "application/x-www-form-urlencoded" + } + reqt.method = "POST" + end + return reqt +end + +_M.request = socket.protect(function(reqt, body) + if base.type(reqt) == "string" then + reqt = _M.parseRequest(reqt, body) + local ok, code, headers, status = _M.request(reqt) + + if ok then + return table.concat(reqt.target), code, headers, status + else + return nil, code + end + else + reqt.create = reqt.create or tcp(reqt) + return trequest(reqt) + end +end) + +return _M diff --git a/copas/limit.lua b/copas/limit.lua new file mode 100644 index 0000000..e26d537 --- /dev/null +++ b/copas/limit.lua @@ -0,0 +1,99 @@ +-------------------------------------------------------------- +-- Limits resource usage while executing tasks. +-- Tasks added will be run in parallel, with a maximum of +-- simultaneous tasks to prevent consuming all/too many resources. +-- Every task added will immediately be scheduled (if there is room) +-- using the `wait` method one can wait for completion. + +local copas = require("copas") +local pack = table.pack or function(...) return {n=select('#',...),...} end +local unpack = function(t) return (table.unpack or unpack)(t, 1, t.n or #t) end + +local pcall = pcall +if _VERSION=="Lua 5.1" and not jit then -- obsolete: only for Lua 5.1 compatibility + pcall = require("coxpcall").pcall +end + +-- Add a task to the queue, returns the coroutine created +-- identical to `copas.addthread`. Can be called while the +-- set of tasks is executing. +local function add(self, task, ...) + local carg = pack(...) + local coro = copas.addthread(function() + copas.sleep(-1) -- go to sleep until being woken + local suc, err = pcall(task, unpack(carg)) -- start the task + self:removethread(coroutine.running()) -- dismiss ourselves + if not suc then error(err) end -- rethrow error + end) + table.insert(self.queue, coro) -- store in list + self:next() + return coro +end + +-- remove a task from the queue. Can be called while the +-- set of tasks is executing. Will NOT stop the task if +-- it is already running. +local function remove(self, coro) + self.queue[coro] = nil + if self.running[coro] then + -- it is in the already running set + self.running[coro] = nil + self.count = self.count - 1 + else + -- check the queue and remove if found + for i, item in ipairs(self.queue) do + if coro == item then + table.remove(self.queue, i) + break + end + end + end + self:next() +end + +-- schedules the next task (if any) for execution, signals completeness +local function nxt(self) + while self.count < self.maxt do + local coro = self.queue[1] + if not coro then break end -- queue is empty, so nothing to add + -- move it to running and restart the task + table.remove(self.queue, 1) + self.running[coro] = coro + self.count = self.count + 1 + copas.wakeup(coro) + end + if self.count == 0 and next(self.waiting) then + -- all tasks done, resume the waiting tasks so they can unblock/return + for coro in pairs(self.waiting) do + copas.wakeup(coro) + end + end +end + +-- Waits for the tasks. Yields until all are finished +local function wait(self) + if self.count == 0 then return end -- There's nothing to do... + local coro = coroutine.running() + -- now store this coroutine (so we know which to wakeup) and go to sleep + self.waiting[coro] = true + copas.sleep(-1) + self.waiting[coro] = nil +end + +-- creats a new tasksrunner, with maximum maxt simultaneous threads +local function new(maxt) + return { + maxt = maxt or 99999, -- max simultaneous tasks + count = 0, -- count of running tasks + queue = {}, -- tasks waiting (list/array) + running = {}, -- tasks currently running (indexed by coroutine) + waiting = {}, -- coroutines, waiting for all tasks being finished (indexed by coro) + addthread = add, + removethread = remove, + next = nxt, + wait = wait, + } +end + +return { new = new } + diff --git a/copas/limit.lua~ b/copas/limit.lua~ new file mode 100644 index 0000000..e26d537 --- /dev/null +++ b/copas/limit.lua~ @@ -0,0 +1,99 @@ +-------------------------------------------------------------- +-- Limits resource usage while executing tasks. +-- Tasks added will be run in parallel, with a maximum of +-- simultaneous tasks to prevent consuming all/too many resources. +-- Every task added will immediately be scheduled (if there is room) +-- using the `wait` method one can wait for completion. + +local copas = require("copas") +local pack = table.pack or function(...) return {n=select('#',...),...} end +local unpack = function(t) return (table.unpack or unpack)(t, 1, t.n or #t) end + +local pcall = pcall +if _VERSION=="Lua 5.1" and not jit then -- obsolete: only for Lua 5.1 compatibility + pcall = require("coxpcall").pcall +end + +-- Add a task to the queue, returns the coroutine created +-- identical to `copas.addthread`. Can be called while the +-- set of tasks is executing. +local function add(self, task, ...) + local carg = pack(...) + local coro = copas.addthread(function() + copas.sleep(-1) -- go to sleep until being woken + local suc, err = pcall(task, unpack(carg)) -- start the task + self:removethread(coroutine.running()) -- dismiss ourselves + if not suc then error(err) end -- rethrow error + end) + table.insert(self.queue, coro) -- store in list + self:next() + return coro +end + +-- remove a task from the queue. Can be called while the +-- set of tasks is executing. Will NOT stop the task if +-- it is already running. +local function remove(self, coro) + self.queue[coro] = nil + if self.running[coro] then + -- it is in the already running set + self.running[coro] = nil + self.count = self.count - 1 + else + -- check the queue and remove if found + for i, item in ipairs(self.queue) do + if coro == item then + table.remove(self.queue, i) + break + end + end + end + self:next() +end + +-- schedules the next task (if any) for execution, signals completeness +local function nxt(self) + while self.count < self.maxt do + local coro = self.queue[1] + if not coro then break end -- queue is empty, so nothing to add + -- move it to running and restart the task + table.remove(self.queue, 1) + self.running[coro] = coro + self.count = self.count + 1 + copas.wakeup(coro) + end + if self.count == 0 and next(self.waiting) then + -- all tasks done, resume the waiting tasks so they can unblock/return + for coro in pairs(self.waiting) do + copas.wakeup(coro) + end + end +end + +-- Waits for the tasks. Yields until all are finished +local function wait(self) + if self.count == 0 then return end -- There's nothing to do... + local coro = coroutine.running() + -- now store this coroutine (so we know which to wakeup) and go to sleep + self.waiting[coro] = true + copas.sleep(-1) + self.waiting[coro] = nil +end + +-- creats a new tasksrunner, with maximum maxt simultaneous threads +local function new(maxt) + return { + maxt = maxt or 99999, -- max simultaneous tasks + count = 0, -- count of running tasks + queue = {}, -- tasks waiting (list/array) + running = {}, -- tasks currently running (indexed by coroutine) + waiting = {}, -- coroutines, waiting for all tasks being finished (indexed by coro) + addthread = add, + removethread = remove, + next = nxt, + wait = wait, + } +end + +return { new = new } + diff --git a/copas/limit.lua~~ b/copas/limit.lua~~ new file mode 100644 index 0000000..e26d537 --- /dev/null +++ b/copas/limit.lua~~ @@ -0,0 +1,99 @@ +-------------------------------------------------------------- +-- Limits resource usage while executing tasks. +-- Tasks added will be run in parallel, with a maximum of +-- simultaneous tasks to prevent consuming all/too many resources. +-- Every task added will immediately be scheduled (if there is room) +-- using the `wait` method one can wait for completion. + +local copas = require("copas") +local pack = table.pack or function(...) return {n=select('#',...),...} end +local unpack = function(t) return (table.unpack or unpack)(t, 1, t.n or #t) end + +local pcall = pcall +if _VERSION=="Lua 5.1" and not jit then -- obsolete: only for Lua 5.1 compatibility + pcall = require("coxpcall").pcall +end + +-- Add a task to the queue, returns the coroutine created +-- identical to `copas.addthread`. Can be called while the +-- set of tasks is executing. +local function add(self, task, ...) + local carg = pack(...) + local coro = copas.addthread(function() + copas.sleep(-1) -- go to sleep until being woken + local suc, err = pcall(task, unpack(carg)) -- start the task + self:removethread(coroutine.running()) -- dismiss ourselves + if not suc then error(err) end -- rethrow error + end) + table.insert(self.queue, coro) -- store in list + self:next() + return coro +end + +-- remove a task from the queue. Can be called while the +-- set of tasks is executing. Will NOT stop the task if +-- it is already running. +local function remove(self, coro) + self.queue[coro] = nil + if self.running[coro] then + -- it is in the already running set + self.running[coro] = nil + self.count = self.count - 1 + else + -- check the queue and remove if found + for i, item in ipairs(self.queue) do + if coro == item then + table.remove(self.queue, i) + break + end + end + end + self:next() +end + +-- schedules the next task (if any) for execution, signals completeness +local function nxt(self) + while self.count < self.maxt do + local coro = self.queue[1] + if not coro then break end -- queue is empty, so nothing to add + -- move it to running and restart the task + table.remove(self.queue, 1) + self.running[coro] = coro + self.count = self.count + 1 + copas.wakeup(coro) + end + if self.count == 0 and next(self.waiting) then + -- all tasks done, resume the waiting tasks so they can unblock/return + for coro in pairs(self.waiting) do + copas.wakeup(coro) + end + end +end + +-- Waits for the tasks. Yields until all are finished +local function wait(self) + if self.count == 0 then return end -- There's nothing to do... + local coro = coroutine.running() + -- now store this coroutine (so we know which to wakeup) and go to sleep + self.waiting[coro] = true + copas.sleep(-1) + self.waiting[coro] = nil +end + +-- creats a new tasksrunner, with maximum maxt simultaneous threads +local function new(maxt) + return { + maxt = maxt or 99999, -- max simultaneous tasks + count = 0, -- count of running tasks + queue = {}, -- tasks waiting (list/array) + running = {}, -- tasks currently running (indexed by coroutine) + waiting = {}, -- coroutines, waiting for all tasks being finished (indexed by coro) + addthread = add, + removethread = remove, + next = nxt, + wait = wait, + } +end + +return { new = new } + diff --git a/copas/lock.lua b/copas/lock.lua new file mode 100644 index 0000000..7b33c0d --- /dev/null +++ b/copas/lock.lua @@ -0,0 +1,191 @@ +local copas = require("copas") +local gettime = require("socket").gettime + +local DEFAULT_TIMEOUT = 10 + +local lock = {} +lock.__index = lock + + +-- registry, locks indexed by the coroutines using them. +local registry = setmetatable({}, { __mode="kv" }) + + + +--- Creates a new lock. +-- @param seconds (optional) default timeout in seconds when acquiring the lock (defaults to 10), +-- set to `math.huge` to have no timeout. +-- @param not_reentrant (optional) if truthy the lock will not allow a coroutine to grab the same lock multiple times +-- @return the lock object +function lock.new(seconds, not_reentrant) + local timeout = tonumber(seconds or DEFAULT_TIMEOUT) or -1 + if timeout < 0 then + error("expected timeout (1st argument) to be a number greater than or equal to 0, got: " .. tostring(seconds), 2) + end + return setmetatable({ + timeout = timeout, + not_reentrant = not_reentrant, + queue = {}, + q_tip = 0, -- index of the first in line waiting + q_tail = 0, -- index where the next one will be inserted + owner = nil, -- coroutine holding lock currently + call_count = nil, -- recursion call count + errors = setmetatable({}, { __mode = "k" }), -- error indexed by coroutine + }, lock) +end + + + +do + local destroyed_func = function() + return nil, "destroyed" + end + + local destroyed_lock_mt = { + __index = function() + return destroyed_func + end + } + + --- destroy a lock. + -- Releases all waiting threads with `nil+"destroyed"` + function lock:destroy() + --print("destroying ",self) + for i = self.q_tip, self.q_tail do + local co = self.queue[i] + self.queue[i] = nil + + if co then + self.errors[co] = "destroyed" + --print("marked destroyed ", co) + copas.wakeup(co) + end + end + + if self.owner then + self.errors[self.owner] = "destroyed" + --print("marked destroyed ", co) + end + self.queue = {} + self.q_tip = 0 + self.q_tail = 0 + self.destroyed = true + + setmetatable(self, destroyed_lock_mt) + return true + end +end + + +local function timeout_handler(co) + local self = registry[co] + if not self then + return + end + + for i = self.q_tip, self.q_tail do + if co == self.queue[i] then + self.queue[i] = nil + self.errors[co] = "timeout" + --print("marked timeout ", co) + copas.wakeup(co) + return + end + end + -- if we get here, we own it currently, or we finished it by now, or + -- the lock was destroyed. Anyway, nothing to do here... +end + + +--- Acquires the lock. +-- If the lock is owned by another thread, this will yield control, until the +-- lock becomes available, or it times out. +-- If `timeout == 0` then it will immediately return (without yielding). +-- @param timeout (optional) timeout in seconds, defaults to the timeout passed to `new` (use `math.huge` to have no timeout). +-- @return wait-time on success, or nil+error+wait_time on failure. Errors can be "timeout", "destroyed", or "lock is not re-entrant" +function lock:get(timeout) + local co = coroutine.running() + local start_time + + -- is the lock already taken? + if self.owner then + -- are we re-entering? + if co == self.owner and not self.not_reentrant then + self.call_count = self.call_count + 1 + return 0 + end + + self.queue[self.q_tail] = co + self.q_tail = self.q_tail + 1 + timeout = timeout or self.timeout + if timeout == 0 then + return nil, "timeout", 0 + end + + -- set up timeout + registry[co] = self + copas.timeout(timeout, timeout_handler) + + start_time = gettime() + copas.pauseforever() + + local err = self.errors[co] + self.errors[co] = nil + registry[co] = nil + + --print("released ", co, err) + if err ~= "timeout" then + copas.timeout(0) + end + if err then + return nil, err, gettime() - start_time + end + end + + -- it's ours to have + self.owner = co + self.call_count = 1 + return start_time and (gettime() - start_time) or 0 +end + + +--- Releases the lock currently held. +-- Releasing a lock that is not owned by the current co-routine will return +-- an error. +-- returns true, or nil+err on an error +function lock:release() + local co = coroutine.running() + + if co ~= self.owner then + return nil, "cannot release a lock not owned" + end + + self.call_count = self.call_count - 1 + if self.call_count > 0 then + -- same coro is still holding it + return true + end + + -- need a loop, since individual coroutines might have been removed + -- so there might be holes + while self.q_tip < self.q_tail do + local next_up = self.queue[self.q_tip] + if next_up then + self.owner = next_up + self.queue[self.q_tip] = nil + self.q_tip = self.q_tip + 1 + copas.wakeup(next_up) + return true + end + self.q_tip = self.q_tip + 1 + end + -- queue is empty, reset pointers + self.owner = nil + self.q_tip = 0 + self.q_tail = 0 + return true +end + + + +return lock diff --git a/copas/queue.lua b/copas/queue.lua new file mode 100644 index 0000000..01cd53c --- /dev/null +++ b/copas/queue.lua @@ -0,0 +1,191 @@ +local copas = require "copas" +local Sema = copas.semaphore +local Lock = copas.lock + + +local Queue = {} +Queue.__index = Queue + + +local new_name do + local count = 0 + + function new_name() + count = count + 1 + return "copas_queue_" .. count + end +end + + +-- Creates a new Queue instance +function Queue.new(opts) + opts = opts or {} + local self = {} + setmetatable(self, Queue) + self.name = opts.name or new_name() + self.sema = Sema.new(10^9) + self.head = 1 + self.tail = 1 + self.list = {} + self.workers = setmetatable({}, { __mode = "k" }) + self.stopping = false + self.worker_id = 0 + return self +end + + +-- Pushes an item in the queue (can be 'nil') +-- returns true, or nil+err ("stopping", or "destroyed") +function Queue:push(item) + if self.stopping then + return nil, "stopping" + end + self.list[self.head] = item + self.head = self.head + 1 + self.sema:give() + return true +end + + +-- Pops and item from the queue. If there are no items in the queue it will yield +-- until there are or a timeout happens (exception is when `timeout == 0`, then it will +-- not yield but return immediately). If the timeout is `math.huge` it will wait forever. +-- Returns item, or nil+err ("timeout", or "destroyed") +function Queue:pop(timeout) + local ok, err = self.sema:take(1, timeout) + if not ok then + return ok, err + end + + local item = self.list[self.tail] + self.list[self.tail] = nil + self.tail = self.tail + 1 + + if self.tail == self.head then + -- reset queue + self.list = {} + self.tail = 1 + self.head = 1 + if self.stopping then + -- we're stopping and last item being returned, so we're done + self:destroy() + end + end + return item +end + + +-- return the number of items left in the queue +function Queue:get_size() + return self.head - self.tail +end + + +-- instructs the queue to stop. Will not accept any more 'push' calls. +-- will autocall 'destroy' when the queue is empty. +-- returns immediately. See `finish` +function Queue:stop() + if not self.stopping then + self.stopping = true + self.lock = Lock.new(nil, true) + self.lock:get() -- close the lock + if self:get_size() == 0 then + -- queue is already empty, so "pop" function cannot call destroy on next + -- pop, so destroy now. + self:destroy() + end + end + return true +end + + +-- Finishes a queue. Calls stop and then waits for the queue to run empty (and be +-- destroyed) before returning. returns true or nil+err ("timeout", or "destroyed") +-- Parameter no_destroy_on_timeout indicates if the queue is not to be forcefully +-- destroyed on a timeout. +function Queue:finish(timeout, no_destroy_on_timeout) + self:stop() + local _, err = self.lock:get(timeout) + -- the lock never gets released, only destroyed, so we have to check the error string + if err == "timeout" then + if not no_destroy_on_timeout then + self:destroy() + end + return nil, err + end + return true +end + + +do + local destroyed_func = function() + return nil, "destroyed" + end + + local destroyed_queue_mt = { + __index = function() + return destroyed_func + end + } + + -- destroys a queue immediately. Abandons what is left in the queue. + -- Releases all waiting threads with `nil+"destroyed"` + function Queue:destroy() + if self.lock then + self.lock:destroy() + end + self.sema:destroy() + setmetatable(self, destroyed_queue_mt) + + -- clear anything left in the queue + for key in pairs(self.list) do + self.list[key] = nil + end + + return true + end +end + + +-- adds a worker that will handle whatever is passed into the queue. Can be called +-- multiple times to add more workers. +-- The threads automatically exit when the queue is destroyed. +-- worker function signature: `function(item)` (Note: worker functions run +-- unprotected, so wrap code in an (x)pcall if errors are expected, otherwise the +-- worker will exit on an error, and queue handling will stop) +-- Returns the coroutine added. +function Queue:add_worker(worker) + assert(type(worker) == "function", "expected worker to be a function") + local coro + + self.worker_id = self.worker_id + 1 + local worker_name = self.name .. ":worker_" .. self.worker_id + + coro = copas.addnamedthread(worker_name, function() + while true do + local item, err = self:pop(math.huge) -- wait forever + if err then + break -- queue destroyed, exit + end + worker(item) -- TODO: wrap in errorhandling + end + self.workers[coro] = nil + end) + + self.workers[coro] = true + return coro +end + +-- returns a list/array of current workers (coroutines) handling the queue. +-- (only the workers added by `add_worker`, and still active, will be in this list) +function Queue:get_workers() + local lst = {} + for coro in pairs(self.workers) do + if coroutine.status(coro) ~= "dead" then + lst[#lst+1] = coro + end + end + return lst +end + +return Queue diff --git a/copas/semaphore.lua b/copas/semaphore.lua new file mode 100644 index 0000000..0f4fda3 --- /dev/null +++ b/copas/semaphore.lua @@ -0,0 +1,202 @@ +local copas = require("copas") + +local DEFAULT_TIMEOUT = 10 + +local semaphore = {} +semaphore.__index = semaphore + + +-- registry, semaphore indexed by the coroutines using them. +local registry = setmetatable({}, { __mode="kv" }) + + +-- create a new semaphore +-- @param max maximum number of resources the semaphore can hold (this maximum does NOT include resources that have been given but not yet returned). +-- @param start (optional, default 0) the initial resources available +-- @param seconds (optional, default 10) default semaphore timeout in seconds, or `math.huge` to have no timeout. +function semaphore.new(max, start, seconds) + local timeout = tonumber(seconds or DEFAULT_TIMEOUT) or -1 + if timeout < 0 then + error("expected timeout (2nd argument) to be a number greater than or equal to 0, got: " .. tostring(seconds), 2) + end + if type(max) ~= "number" or max < 1 then + error("expected max resources (1st argument) to be a number greater than 0, got: " .. tostring(max), 2) + end + + local self = setmetatable({ + count = start or 0, + max = max, + timeout = timeout, + q_tip = 1, -- position of next entry waiting + q_tail = 1, -- position where next one will be inserted + queue = {}, + to_flags = setmetatable({}, { __mode = "k" }), -- timeout flags indexed by coroutine + }, semaphore) + + return self +end + + +do + local destroyed_func = function() + return nil, "destroyed" + end + + local destroyed_semaphore_mt = { + __index = function() + return destroyed_func + end + } + + -- destroy a semaphore. + -- Releases all waiting threads with `nil+"destroyed"` + function semaphore:destroy() + self:give(math.huge) + self.destroyed = true + setmetatable(self, destroyed_semaphore_mt) + return true + end +end + + +-- Gives resources. +-- @param given (optional, default 1) number of resources to return. If more +-- than the maximum are returned then it will be capped at the maximum and +-- error "too many" will be returned. +function semaphore:give(given) + local err + given = given or 1 + local count = self.count + given + --print("now at",count, ", after +"..given) + if count > self.max then + count = self.max + err = "too many" + end + + while self.q_tip < self.q_tail do + local i = self.q_tip + local nxt = self.queue[i] -- there can be holes, so nxt might be nil + if not nxt then + self.q_tip = i + 1 + else + if count >= nxt.requested then + -- release it + self.queue[i] = nil + self.to_flags[nxt.co] = nil + count = count - nxt.requested + self.q_tip = i + 1 + copas.wakeup(nxt.co) + nxt.co = nil + else + break -- we ran out of resources + end + end + end + + if self.q_tip == self.q_tail then -- reset queue + self.queue = {} + self.q_tip = 1 + self.q_tail = 1 + end + + self.count = count + if err then + return nil, err + end + return true +end + + + +local function timeout_handler(co) + local self = registry[co] + --print("checking timeout ", co) + if not self then + return + end + + for i = self.q_tip, self.q_tail do + local item = self.queue[i] + if item and co == item.co then + self.queue[i] = nil + self.to_flags[co] = true + --print("marked timeout ", co) + copas.wakeup(co) + return + end + end + -- nothing to do here... +end + + +-- Requests resources from the semaphore. +-- Waits if there are not enough resources available before returning. +-- @param requested (optional, default 1) the number of resources requested +-- @param timeout (optional, defaults to semaphore timeout) timeout in +-- seconds. If 0 it will either succeed or return immediately with error "timeout". +-- If `math.huge` it will wait forever. +-- @return true, or nil+"destroyed" +function semaphore:take(requested, timeout) + requested = requested or 1 + if self.q_tail == 1 and self.count >= requested then + -- nobody is waiting before us, and there is enough in store + self.count = self.count - requested + return true + end + + if requested > self.max then + return nil, "too many" + end + + local to = timeout or self.timeout + if to == 0 then + return nil, "timeout" + end + + -- get in line + local co = coroutine.running() + self.to_flags[co] = nil + registry[co] = self + copas.timeout(to, timeout_handler) + + self.queue[self.q_tail] = { + co = co, + requested = requested, + --timeout = nil, -- flag indicating timeout + } + self.q_tail = self.q_tail + 1 + + copas.pauseforever() -- block until woken + registry[co] = nil + + if self.to_flags[co] then + -- a timeout happened + self.to_flags[co] = nil + return nil, "timeout" + end + + copas.timeout(0) + + if self.destroyed then + return nil, "destroyed" + end + + return true +end + +-- returns current available resources +function semaphore:get_count() + return self.count +end + +-- returns total shortage for requested resources +function semaphore:get_wait() + local wait = 0 + for i = self.q_tip, self.q_tail - 1 do + wait = wait + ((self.queue[i] or {}).requested or 0) + end + return wait - self.count +end + + +return semaphore diff --git a/copas/smtp.lua b/copas/smtp.lua new file mode 100644 index 0000000..0d175eb --- /dev/null +++ b/copas/smtp.lua @@ -0,0 +1,33 @@ +------------------------------------------------------------------- +-- identical to the socket.smtp module except that it uses +-- async wrapped Copas sockets + +local copas = require("copas") +local smtp = require("socket.smtp") + +local create = function() return copas.wrap(socket.tcp()) end +local forwards = { -- setting these will be forwarded to the original smtp module + PORT = true, + SERVER = true, + TIMEOUT = true, + DOMAIN = true, + TIMEZONE = true +} + +copas.smtp = setmetatable({}, { + -- use original module as metatable, to lookup constants like socket.SERVER, etc. + __index = smtp, + -- Setting constants is forwarded to the luasocket.smtp module. + __newindex = function(self, key, value) + if forwards[key] then smtp[key] = value return end + return rawset(self, key, value) + end, + }) +local _M = copas.smtp + +_M.send = function(mailt) + mailt.create = mailt.create or create + return smtp.send(mailt) +end + +return _M \ No newline at end of file diff --git a/copas/smtp.lua~ b/copas/smtp.lua~ new file mode 100644 index 0000000..0d175eb --- /dev/null +++ b/copas/smtp.lua~ @@ -0,0 +1,33 @@ +------------------------------------------------------------------- +-- identical to the socket.smtp module except that it uses +-- async wrapped Copas sockets + +local copas = require("copas") +local smtp = require("socket.smtp") + +local create = function() return copas.wrap(socket.tcp()) end +local forwards = { -- setting these will be forwarded to the original smtp module + PORT = true, + SERVER = true, + TIMEOUT = true, + DOMAIN = true, + TIMEZONE = true +} + +copas.smtp = setmetatable({}, { + -- use original module as metatable, to lookup constants like socket.SERVER, etc. + __index = smtp, + -- Setting constants is forwarded to the luasocket.smtp module. + __newindex = function(self, key, value) + if forwards[key] then smtp[key] = value return end + return rawset(self, key, value) + end, + }) +local _M = copas.smtp + +_M.send = function(mailt) + mailt.create = mailt.create or create + return smtp.send(mailt) +end + +return _M \ No newline at end of file diff --git a/copas/smtp.lua~~ b/copas/smtp.lua~~ new file mode 100644 index 0000000..0d175eb --- /dev/null +++ b/copas/smtp.lua~~ @@ -0,0 +1,33 @@ +------------------------------------------------------------------- +-- identical to the socket.smtp module except that it uses +-- async wrapped Copas sockets + +local copas = require("copas") +local smtp = require("socket.smtp") + +local create = function() return copas.wrap(socket.tcp()) end +local forwards = { -- setting these will be forwarded to the original smtp module + PORT = true, + SERVER = true, + TIMEOUT = true, + DOMAIN = true, + TIMEZONE = true +} + +copas.smtp = setmetatable({}, { + -- use original module as metatable, to lookup constants like socket.SERVER, etc. + __index = smtp, + -- Setting constants is forwarded to the luasocket.smtp module. + __newindex = function(self, key, value) + if forwards[key] then smtp[key] = value return end + return rawset(self, key, value) + end, + }) +local _M = copas.smtp + +_M.send = function(mailt) + mailt.create = mailt.create or create + return smtp.send(mailt) +end + +return _M \ No newline at end of file diff --git a/copas/timer.lua b/copas/timer.lua new file mode 100644 index 0000000..09041ea --- /dev/null +++ b/copas/timer.lua @@ -0,0 +1,130 @@ +local copas = require("copas") + +local xpcall = xpcall +local coroutine_running = coroutine.running + +if _VERSION=="Lua 5.1" and not jit then -- obsolete: only for Lua 5.1 compatibility + xpcall = require("coxpcall").xpcall + coroutine_running = require("coxpcall").running +end + + +local timer = {} +timer.__index = timer + + +local new_name do + local count = 0 + + function new_name() + count = count + 1 + return "copas_timer_" .. count + end +end + + +do + local function expire_func(self, initial_delay) + if self.errorhandler then + copas.seterrorhandler(self.errorhandler) + end + copas.pause(initial_delay) + while true do + if not self.cancelled then + if not self.recurring then + -- non-recurring timer + self.cancelled = true + self.co = nil + + self:callback(self.params) + return + + else + -- recurring timer + self:callback(self.params) + end + end + + if self.cancelled then + -- clean up and exit the thread + self.co = nil + self.cancelled = true + return + end + + copas.pause(self.delay) + end + end + + + --- Arms the timer object. + -- @param initial_delay (optional) the first delay to use, if not provided uses the timer delay + -- @return timer object, nil+error, or throws an error on bad input + function timer:arm(initial_delay) + assert(initial_delay == nil or initial_delay >= 0, "delay must be greater than or equal to 0") + if self.co then + return nil, "already armed" + end + + self.cancelled = false + self.co = copas.addnamedthread(self.name, expire_func, self, initial_delay or self.delay) + return self + end +end + + + +--- Cancels a running timer. +-- @return timer object, or nil+error +function timer:cancel() + if not self.co then + return nil, "not armed" + end + + if self.cancelled then + return nil, "already cancelled" + end + + self.cancelled = true + copas.wakeup(self.co) -- resume asap + copas.removethread(self.co) -- will immediately drop the thread upon resuming + self.co = nil + return self +end + + +do + -- xpcall error handler that forwards to the copas errorhandler + local ehandler = function(err_obj) + return copas.geterrorhandler()(err_obj, coroutine_running(), nil) + end + + + --- Creates a new timer object. + -- Note: the callback signature is: `function(timer_obj, params)`. + -- @param opts (table) `opts.delay` timer delay in seconds, `opts.callback` function to execute, `opts.recurring` boolean + -- `opts.params` (optional) this value will be passed to the timer callback, `opts.initial_delay` (optional) the first delay to use, defaults to `delay`. + -- @return timer object, or throws an error on bad input + function timer.new(opts) + assert(opts.delay or -1 >= 0, "delay must be greater than or equal to 0") + assert(type(opts.callback) == "function", "expected callback to be a function") + + local callback = function(timer_obj, params) + xpcall(opts.callback, ehandler, timer_obj, params) + end + + return setmetatable({ + name = opts.name or new_name(), + delay = opts.delay, + callback = callback, + recurring = not not opts.recurring, + params = opts.params, + cancelled = false, + errorhandler = opts.errorhandler, + }, timer):arm(opts.initial_delay) + end +end + + + +return timer diff --git a/ltn12.lua b/ltn12.lua new file mode 100644 index 0000000..5b10f56 --- /dev/null +++ b/ltn12.lua @@ -0,0 +1,298 @@ +----------------------------------------------------------------------------- +-- LTN12 - Filters, sources, sinks and pumps. +-- LuaSocket toolkit. +-- Author: Diego Nehab +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module +----------------------------------------------------------------------------- +local string = require("string") +local table = require("table") +local base = _G +local _M = {} +if module then -- heuristic for exporting a global package table + ltn12 = _M +end +local filter,source,sink,pump = {},{},{},{} + +_M.filter = filter +_M.source = source +_M.sink = sink +_M.pump = pump + +-- 2048 seems to be better in windows... +_M.BLOCKSIZE = 2048 +_M._VERSION = "LTN12 1.0.3" + +----------------------------------------------------------------------------- +-- Filter stuff +----------------------------------------------------------------------------- +-- returns a high level filter that cycles a low-level filter +function filter.cycle(low, ctx, extra) + base.assert(low) + return function(chunk) + local ret + ret, ctx = low(ctx, chunk, extra) + return ret + end +end + +-- chains a bunch of filters together +-- (thanks to Wim Couwenberg) +function filter.chain(...) + local arg = {...} + local n = select('#',...) + local top, index = 1, 1 + local retry = "" + return function(chunk) + retry = chunk and retry + while true do + if index == top then + chunk = arg[index](chunk) + if chunk == "" or top == n then return chunk + elseif chunk then index = index + 1 + else + top = top+1 + index = top + end + else + chunk = arg[index](chunk or "") + if chunk == "" then + index = index - 1 + chunk = retry + elseif chunk then + if index == n then return chunk + else index = index + 1 end + else base.error("filter returned inappropriate nil") end + end + end + end +end + +----------------------------------------------------------------------------- +-- Source stuff +----------------------------------------------------------------------------- +-- create an empty source +local function empty() + return nil +end + +function source.empty() + return empty +end + +-- returns a source that just outputs an error +function source.error(err) + return function() + return nil, err + end +end + +-- creates a file source +function source.file(handle, io_err) + if handle then + return function() + local chunk = handle:read(_M.BLOCKSIZE) + if not chunk then handle:close() end + return chunk + end + else return source.error(io_err or "unable to open file") end +end + +-- turns a fancy source into a simple source +function source.simplify(src) + base.assert(src) + return function() + local chunk, err_or_new = src() + src = err_or_new or src + if not chunk then return nil, err_or_new + else return chunk end + end +end + +-- creates string source +function source.string(s) + if s then + local i = 1 + return function() + local chunk = string.sub(s, i, i+_M.BLOCKSIZE-1) + i = i + _M.BLOCKSIZE + if chunk ~= "" then return chunk + else return nil end + end + else return source.empty() end +end + +-- creates rewindable source +function source.rewind(src) + base.assert(src) + local t = {} + return function(chunk) + if not chunk then + chunk = table.remove(t) + if not chunk then return src() + else return chunk end + else + table.insert(t, chunk) + end + end +end + +function source.chain(src, f) + base.assert(src and f) + local last_in, last_out = "", "" + local state = "feeding" + local err + return function() + if not last_out then + base.error('source is empty!', 2) + end + while true do + if state == "feeding" then + last_in, err = src() + if err then return nil, err end + last_out = f(last_in) + if not last_out then + if last_in then + base.error('filter returned inappropriate nil') + else + return nil + end + elseif last_out ~= "" then + state = "eating" + if last_in then last_in = "" end + return last_out + end + else + last_out = f(last_in) + if last_out == "" then + if last_in == "" then + state = "feeding" + else + base.error('filter returned ""') + end + elseif not last_out then + if last_in then + base.error('filter returned inappropriate nil') + else + return nil + end + else + return last_out + end + end + end + end +end + +-- creates a source that produces contents of several sources, one after the +-- other, as if they were concatenated +-- (thanks to Wim Couwenberg) +function source.cat(...) + local arg = {...} + local src = table.remove(arg, 1) + return function() + while src do + local chunk, err = src() + if chunk then return chunk end + if err then return nil, err end + src = table.remove(arg, 1) + end + end +end + +----------------------------------------------------------------------------- +-- Sink stuff +----------------------------------------------------------------------------- +-- creates a sink that stores into a table +function sink.table(t) + t = t or {} + local f = function(chunk, err) + if chunk then table.insert(t, chunk) end + return 1 + end + return f, t +end + +-- turns a fancy sink into a simple sink +function sink.simplify(snk) + base.assert(snk) + return function(chunk, err) + local ret, err_or_new = snk(chunk, err) + if not ret then return nil, err_or_new end + snk = err_or_new or snk + return 1 + end +end + +-- creates a file sink +function sink.file(handle, io_err) + if handle then + return function(chunk, err) + if not chunk then + handle:close() + return 1 + else return handle:write(chunk) end + end + else return sink.error(io_err or "unable to open file") end +end + +-- creates a sink that discards data +local function null() + return 1 +end + +function sink.null() + return null +end + +-- creates a sink that just returns an error +function sink.error(err) + return function() + return nil, err + end +end + +-- chains a sink with a filter +function sink.chain(f, snk) + base.assert(f and snk) + return function(chunk, err) + if chunk ~= "" then + local filtered = f(chunk) + local done = chunk and "" + while true do + local ret, snkerr = snk(filtered, err) + if not ret then return nil, snkerr end + if filtered == done then return 1 end + filtered = f(done) + end + else return 1 end + end +end + +----------------------------------------------------------------------------- +-- Pump stuff +----------------------------------------------------------------------------- +-- pumps one chunk from the source to the sink +function pump.step(src, snk) + local chunk, src_err = src() + local ret, snk_err = snk(chunk, src_err) + if chunk and ret then return 1 + else return nil, src_err or snk_err end +end + +-- pumps all data from a source to a sink, using a step function +function pump.all(src, snk, step) + base.assert(src and snk) + step = step or pump.step + while true do + local ret, err = step(src, snk) + if not ret then + if err then return nil, err + else return 1 end + end + end +end + +return _M diff --git a/mime.lua b/mime.lua new file mode 100644 index 0000000..642cd9c --- /dev/null +++ b/mime.lua @@ -0,0 +1,90 @@ +----------------------------------------------------------------------------- +-- MIME support for the Lua language. +-- Author: Diego Nehab +-- Conforming to RFCs 2045-2049 +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +----------------------------------------------------------------------------- +local base = _G +local ltn12 = require("ltn12") +local mime = require("mime.core") +local io = require("io") +local string = require("string") +local _M = mime + +-- encode, decode and wrap algorithm tables +local encodet, decodet, wrapt = {},{},{} + +_M.encodet = encodet +_M.decodet = decodet +_M.wrapt = wrapt + +-- creates a function that chooses a filter by name from a given table +local function choose(table) + return function(name, opt1, opt2) + if base.type(name) ~= "string" then + name, opt1, opt2 = "default", name, opt1 + end + local f = table[name or "nil"] + if not f then + base.error("unknown key (" .. base.tostring(name) .. ")", 3) + else return f(opt1, opt2) end + end +end + +-- define the encoding filters +encodet['base64'] = function() + return ltn12.filter.cycle(_M.b64, "") +end + +encodet['quoted-printable'] = function(mode) + return ltn12.filter.cycle(_M.qp, "", + (mode == "binary") and "=0D=0A" or "\r\n") +end + +-- define the decoding filters +decodet['base64'] = function() + return ltn12.filter.cycle(_M.unb64, "") +end + +decodet['quoted-printable'] = function() + return ltn12.filter.cycle(_M.unqp, "") +end + +local function format(chunk) + if chunk then + if chunk == "" then return "''" + else return string.len(chunk) end + else return "nil" end +end + +-- define the line-wrap filters +wrapt['text'] = function(length) + length = length or 76 + return ltn12.filter.cycle(_M.wrp, length, length) +end +wrapt['base64'] = wrapt['text'] +wrapt['default'] = wrapt['text'] + +wrapt['quoted-printable'] = function() + return ltn12.filter.cycle(_M.qpwrp, 76, 76) +end + +-- function that choose the encoding, decoding or wrap algorithm +_M.encode = choose(encodet) +_M.decode = choose(decodet) +_M.wrap = choose(wrapt) + +-- define the end-of-line normalization filter +function _M.normalize(marker) + return ltn12.filter.cycle(_M.eol, 0, marker) +end + +-- high level stuffing filter +function _M.stuff() + return ltn12.filter.cycle(_M.dot, 2) +end + +return _M \ No newline at end of file diff --git a/mime/core.dll b/mime/core.dll new file mode 100644 index 0000000000000000000000000000000000000000..c35e86d090c61e800c826e6fc4bd16df50099456 GIT binary patch literal 77824 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 literal 0 HcmV?d00001 diff --git a/samp/events.lua b/samp/events.lua new file mode 100644 index 0000000..0764f3a --- /dev/null +++ b/samp/events.lua @@ -0,0 +1,292 @@ +-- This file is part of the SAMP.Lua project. +-- Licensed under the MIT License. +-- Copyright (c) 2016, FYP @ BlastHack Team +-- https://github.com/THE-FYP/SAMP.Lua + +local raknet = require 'samp.raknet' +local events = require 'samp.events.core' +local utils = require 'samp.events.utils' +local handler = require 'samp.events.handlers' + require 'samp.events.extra_types' +local RPC = raknet.RPC +local PACKET = raknet.PACKET +local OUTCOMING_RPCS = events.INTERFACE.OUTCOMING_RPCS +local OUTCOMING_PACKETS = events.INTERFACE.OUTCOMING_PACKETS +local INCOMING_RPCS = events.INTERFACE.INCOMING_RPCS +local INCOMING_PACKETS = events.INTERFACE.INCOMING_PACKETS + +-- Outgoing rpcs +OUTCOMING_RPCS[RPC.ENTERVEHICLE] = {'onSendEnterVehicle', {vehicleId = 'uint16'}, {passenger = 'bool8'}} +OUTCOMING_RPCS[RPC.CLICKPLAYER] = {'onSendClickPlayer', {playerId = 'uint16'}, {source = 'uint8'}} +OUTCOMING_RPCS[RPC.CLIENTJOIN] = {'onSendClientJoin', {version = 'int32'}, {mod = 'uint8'}, {nickname = 'string8'}, {challengeResponse = 'int32'}, {joinAuthKey = 'string8'}, {clientVer = 'string8'}, {challengeResponse2 = 'int32'}} +--OUTCOMING_RPCS[RPC.SELECTOBJECT] = {'onSendSelectObject', {type = 'int32'}, {objectId = 'uint16'}, {model = 'int32'}, {position = 'vector3d'}} +OUTCOMING_RPCS[RPC.SELECTOBJECT] = {'onSendEnterEditObject', {type = 'int32'}, {objectId = 'uint16'}, {model = 'int32'}, {position = 'vector3d'}} +OUTCOMING_RPCS[RPC.SERVERCOMMAND] = {'onSendCommand', {command = 'string32'}} +OUTCOMING_RPCS[RPC.SPAWN] = {'onSendSpawn'} +OUTCOMING_RPCS[RPC.DEATH] = {'onSendDeathNotification', {reason = 'uint8'}, {killerId = 'uint16'}} +OUTCOMING_RPCS[RPC.DIALOGRESPONSE] = {'onSendDialogResponse', {dialogId = 'uint16'}, {button = 'uint8'}, {listboxId = 'uint16'}, {input = 'string8'}} +OUTCOMING_RPCS[RPC.CLICKTEXTDRAW] = {'onSendClickTextDraw', {textdrawId = 'uint16'}} +OUTCOMING_RPCS[RPC.SCMEVENT] = {'onSendVehicleTuningNotification', {vehicleId = 'int32'}, {param1 = 'int32'}, {param2 = 'int32'}, {event = 'int32'}} +OUTCOMING_RPCS[RPC.CHAT] = {'onSendChat', {message = 'string8'}} +OUTCOMING_RPCS[RPC.CLIENTCHECK] = {'onSendClientCheckResponse', {requestType = 'uint8'}, {result1 = 'int32'}, {result2 = 'uint8'}} +OUTCOMING_RPCS[RPC.DAMAGEVEHICLE] = {'onSendVehicleDamaged', {vehicleId = 'uint16'}, {panelDmg = 'int32'}, {doorDmg = 'int32'}, {lights = 'uint8'}, {tires = 'uint8'}} +OUTCOMING_RPCS[RPC.EDITATTACHEDOBJECT] = {'onSendEditAttachedObject', {response = 'int32'}, {index = 'int32'}, {model = 'int32'}, {bone = 'int32'}, {position = 'vector3d'}, {rotation = 'vector3d'}, {scale = 'vector3d'}, {color1 = 'int32'}, {color2 = 'int32'}} +OUTCOMING_RPCS[RPC.EDITOBJECT] = {'onSendEditObject', {playerObject = 'bool'}, {objectId = 'uint16'}, {response = 'int32'}, {position = 'vector3d'}, {rotation = 'vector3d'}} +OUTCOMING_RPCS[RPC.SETINTERIORID] = {'onSendInteriorChangeNotification', {interior = 'uint8'}} +OUTCOMING_RPCS[RPC.MAPMARKER] = {'onSendMapMarker', {position = 'vector3d'}} +OUTCOMING_RPCS[RPC.REQUESTCLASS] = {'onSendRequestClass', {classId = 'int32'}} +OUTCOMING_RPCS[RPC.REQUESTSPAWN] = {'onSendRequestSpawn'} +OUTCOMING_RPCS[RPC.PICKEDUPPICKUP] = {'onSendPickedUpPickup', {pickupId = 'int32'}} +OUTCOMING_RPCS[RPC.MENUSELECT] = {'onSendMenuSelect', {row = 'uint8'}} +OUTCOMING_RPCS[RPC.VEHICLEDESTROYED] = {'onSendVehicleDestroyed', {vehicleId = 'uint16'}} +OUTCOMING_RPCS[RPC.MENUQUIT] = {'onSendQuitMenu'} +OUTCOMING_RPCS[RPC.EXITVEHICLE] = {'onSendExitVehicle', {vehicleId = 'uint16'}} +OUTCOMING_RPCS[RPC.UPDATESCORESPINGSIPS] = {'onSendUpdateScoresAndPings'} +-- playerId = 'uint16', damage = 'float', weapon = 'int32', bodypart ='int32' +OUTCOMING_RPCS[RPC.GIVETAKEDAMAGE] = {{'onSendGiveDamage', 'onSendTakeDamage'}, handler.rpc_send_give_take_damage_reader, handler.rpc_send_give_take_damage_writer} +OUTCOMING_RPCS[RPC.SCRIPTCASH] = {'onSendMoneyIncreaseNotification', {amount = 'int32'}, {increaseType = 'int32'}} +OUTCOMING_RPCS[RPC.NPCJOIN] = {'onSendNPCJoin', {version = 'int32'}, {mod = 'uint8'}, {nickname = 'string8'}, {challengeResponse = 'int32'}} +OUTCOMING_RPCS[RPC.SRVNETSTATS] = {'onSendServerStatisticsRequest'} +OUTCOMING_RPCS[RPC.WEAPONPICKUPDESTROY] = {'onSendPickedUpWeapon', {id = 'uint16'}} +OUTCOMING_RPCS[RPC.CAMTARGETUPDATE] = {'onSendCameraTargetUpdate', {objectId = 'uint16'}, {vehicleId = 'uint16'}, {playerId = 'uint16'}, {actorId = 'uint16'}} +OUTCOMING_RPCS[RPC.GIVEACTORDAMAGE] = {'onSendGiveActorDamage', {_unused = 'bool'}, {actorId = 'uint16'}, {damage = 'float'}, {weapon = 'int32'}, {bodypart ='int32'}} + +-- Incoming rpcs +-- int playerId, string hostName, table settings, table vehicleModels, bool vehicleFriendlyFire +INCOMING_RPCS[RPC.INITGAME] = {'onInitGame', handler.rpc_init_game_reader, handler.rpc_init_game_writer} +INCOMING_RPCS[RPC.SERVERJOIN] = {'onPlayerJoin', {playerId = 'uint16'}, {color = 'int32'}, {isNpc = 'bool8'}, {nickname = 'string8'}} +INCOMING_RPCS[RPC.SERVERQUIT] = {'onPlayerQuit', {playerId = 'uint16'}, {reason = 'uint8'}} +INCOMING_RPCS[RPC.REQUESTCLASS] = {'onRequestClassResponse', {canSpawn = 'bool8'}, {team = 'uint8'}, {skin = 'int32'}, {_unused = 'uint8'}, {positon = 'vector3d'}, {rotation = 'float'}, {weapons = 'Int32Array3'}, {ammo = 'Int32Array3'}} +INCOMING_RPCS[RPC.REQUESTSPAWN] = {'onRequestSpawnResponse', {response = 'bool8'}} +INCOMING_RPCS[RPC.SETPLAYERNAME] = {'onSetPlayerName', {playerId = 'uint16'}, {name = 'string8'}, {success = 'bool8'}} +INCOMING_RPCS[RPC.SETPLAYERPOS] = {'onSetPlayerPos', {position = 'vector3d'}} +INCOMING_RPCS[RPC.SETPLAYERPOSFINDZ] = {'onSetPlayerPosFindZ', {position = 'vector3d'}} +INCOMING_RPCS[RPC.SETPLAYERHEALTH] = {'onSetPlayerHealth', {health = 'float'}} +INCOMING_RPCS[RPC.TOGGLEPLAYERCONTROLLABLE] = {'onTogglePlayerControllable', {controllable = 'bool8'}} +INCOMING_RPCS[RPC.PLAYSOUND] = {'onPlaySound', {soundId = 'int32'}, {position = 'vector3d'}} +INCOMING_RPCS[RPC.SETPLAYERWORLDBOUNDS] = {'onSetWorldBounds', {maxX = 'float'}, {minX = 'float'}, {maxY = 'float'}, {minY = 'float'}} +INCOMING_RPCS[RPC.GIVEPLAYERMONEY] = {'onGivePlayerMoney', {money = 'int32'}} +INCOMING_RPCS[RPC.SETPLAYERFACINGANGLE] = {'onSetPlayerFacingAngle', {angle = 'float'}} +INCOMING_RPCS[RPC.RESETPLAYERMONEY] = {'onResetPlayerMoney'} +INCOMING_RPCS[RPC.RESETPLAYERWEAPONS] = {'onResetPlayerWeapons'} +INCOMING_RPCS[RPC.GIVEPLAYERWEAPON] = {'onGivePlayerWeapon', {weaponId = 'int32'}, {ammo = 'int32'}} +INCOMING_RPCS[RPC.CANCELEDIT] = {'onCancelEdit'} +INCOMING_RPCS[RPC.SETPLAYERTIME] = {'onSetPlayerTime', {hour = 'uint8'}, {minute = 'uint8'}} +INCOMING_RPCS[RPC.TOGGLECLOCK] = {'onSetToggleClock', {state = 'bool8'}} +INCOMING_RPCS[RPC.WORLDPLAYERADD] = {'onPlayerStreamIn', {playerId = 'uint16'}, {team = 'uint8'}, {model = 'int32'}, {position = 'vector3d'}, {rotation = 'float'}, {color = 'int32'}, {fightingStyle = 'uint8'}} +INCOMING_RPCS[RPC.SETPLAYERSHOPNAME] = {'onSetShopName', {name = 'fixedString32'}} +INCOMING_RPCS[RPC.SETPLAYERSKILLLEVEL] = {'onSetPlayerSkillLevel', {playerId = 'uint16'}, {skill = 'int32'}, {level = 'uint16'}} +INCOMING_RPCS[RPC.SETPLAYERDRUNKLEVEL] = {'onSetPlayerDrunk', {drunkLevel = 'int32'}} +INCOMING_RPCS[RPC.CREATE3DTEXTLABEL] = {'onCreate3DText', {id = 'uint16'}, {color = 'int32'}, {position = 'vector3d'}, {distance = 'float'}, {testLOS = 'bool8'}, {attachedPlayerId = 'uint16'}, {attachedVehicleId = 'uint16'}, {text = 'encodedString4096'}} +INCOMING_RPCS[RPC.DISABLECHECKPOINT] = {'onDisableCheckpoint'} +INCOMING_RPCS[RPC.SETRACECHECKPOINT] = {'onSetRaceCheckpoint', {type = 'uint8'}, {position = 'vector3d'}, {nextPosition = 'vector3d'}, {size = 'float'}} +INCOMING_RPCS[RPC.DISABLERACECHECKPOINT] = {'onDisableRaceCheckpoint'} +INCOMING_RPCS[RPC.GAMEMODERESTART] = {'onGamemodeRestart'} +INCOMING_RPCS[RPC.PLAYAUDIOSTREAM] = {'onPlayAudioStream', {url = 'string8'}, {position = 'vector3d'}, {radius = 'float'}, {usePosition = 'bool8'}} +INCOMING_RPCS[RPC.STOPAUDIOSTREAM] = {'onStopAudioStream'} +INCOMING_RPCS[RPC.REMOVEBUILDINGFORPLAYER] = {'onRemoveBuilding', {modelId = 'int32'}, {position = 'vector3d'}, {radius = 'float'}} +INCOMING_RPCS[RPC.CREATEOBJECT] = {'onCreateObject', handler.rpc_create_object_reader, handler.rpc_create_object_writer} +INCOMING_RPCS[RPC.SETOBJECTPOS] = {'onSetObjectPosition', {objectId = 'uint16'}, {position = 'vector3d'}} +INCOMING_RPCS[RPC.SETOBJECTROT] = {'onSetObjectRotation', {objectId = 'uint16'}, {rotation = 'vector3d'}} +INCOMING_RPCS[RPC.DESTROYOBJECT] = {'onDestroyObject', {objectId = 'uint16'}} +INCOMING_RPCS[RPC.DEATHMESSAGE] = {'onPlayerDeathNotification', {killerId = 'uint16'}, {killedId = 'uint16'}, {reason = 'uint8'}} +INCOMING_RPCS[RPC.SETPLAYERMAPICON] = {'onSetMapIcon', {iconId = 'uint8'}, {position = 'vector3d'}, {type = 'uint8'}, {color = 'int32'}, {style = 'uint8'}} +INCOMING_RPCS[RPC.REMOVEVEHICLECOMPONENT] = {'onRemoveVehicleComponent', {vehicleId = 'uint16'}, {componentId = 'uint16'}} +INCOMING_RPCS[RPC.DESTROY3DTEXTLABEL] = {'onRemove3DTextLabel', {textLabelId = 'uint16'}} +INCOMING_RPCS[RPC.CHATBUBBLE] = {'onPlayerChatBubble', {playerId = 'uint16'}, {color = 'int32'}, {distance = 'float'}, {duration = 'int32'}, {message = 'string8'}} +INCOMING_RPCS[RPC.UPDATETIME] = {'onUpdateGlobalTimer', {time = 'int32'}} +INCOMING_RPCS[RPC.SHOWDIALOG] = {'onShowDialog', {dialogId = 'uint16'}, {style = 'uint8'}, {title = 'string8'}, {button1 = 'string8'}, {button2 = 'string8'}, {text = 'encodedString4096'}} +INCOMING_RPCS[RPC.DESTROYPICKUP] = {'onDestroyPickup', {id = 'int32'}} +INCOMING_RPCS[RPC.LINKVEHICLETOINTERIOR] = {'onLinkVehicleToInterior', {vehicleId = 'uint16'}, {interiorId = 'uint8'}} +INCOMING_RPCS[RPC.SETPLAYERARMOUR] = {'onSetPlayerArmour', {armour = 'float'}} +INCOMING_RPCS[RPC.SETPLAYERARMEDWEAPON] = {'onSetPlayerArmedWeapon', {weaponId = 'int32'}} +INCOMING_RPCS[RPC.SETSPAWNINFO] = {'onSetSpawnInfo', {team = 'uint8'}, {skin = 'int32'}, {_unused = 'uint8'}, {position = 'vector3d'}, {rotation = 'float'}, {weapons = 'Int32Array3'}, {ammo = 'Int32Array3'}} +INCOMING_RPCS[RPC.SETPLAYERTEAM] = {'onSetPlayerTeam', {playerId = 'uint16'}, {teamId = 'uint8'}} +INCOMING_RPCS[RPC.PUTPLAYERINVEHICLE] = {'onPutPlayerInVehicle', {vehicleId = 'uint16'}, {seatId = 'uint8'}} +INCOMING_RPCS[RPC.REMOVEPLAYERFROMVEHICLE] = {'onRemovePlayerFromVehicle'} +INCOMING_RPCS[RPC.SETPLAYERCOLOR] = {'onSetPlayerColor', {playerId = 'uint16'}, {color = 'int32'}} +INCOMING_RPCS[RPC.DISPLAYGAMETEXT] = {'onDisplayGameText', {style = 'int32'}, {time = 'int32'}, {text = 'string32'}} +INCOMING_RPCS[RPC.FORCECLASSSELECTION] = {'onForceClassSelection'} +INCOMING_RPCS[RPC.ATTACHOBJECTTOPLAYER] = {'onAttachObjectToPlayer', {objectId = 'uint16'}, {playerId = 'uint16'}, {offsets = 'vector3d'}, {rotation = 'vector3d'}} +-- menuId = 'uint8', menuTitle = 'fixedString32', x = 'float', y = 'float', twoColumns = 'bool32', columns = 'table', rows = 'table', menu = 'bool32' +INCOMING_RPCS[RPC.INITMENU] = {'onInitMenu', handler.rpc_init_menu_reader, handler.rpc_init_menu_writer} +INCOMING_RPCS[RPC.SHOWMENU] = {'onShowMenu', {menuId = 'uint8'}} +INCOMING_RPCS[RPC.HIDEMENU] = {'onHideMenu', {menuId = 'uint8'}} +INCOMING_RPCS[RPC.CREATEEXPLOSION] = {'onCreateExplosion', {position = 'vector3d'}, {style = 'int32'}, {radius = 'float'}} +INCOMING_RPCS[RPC.SHOWPLAYERNAMETAGFORPLAYER] = {'onShowPlayerNameTag', {playerId = 'uint16'}, {show = 'bool8'}} +INCOMING_RPCS[RPC.ATTACHCAMERATOOBJECT] = {'onAttachCameraToObject', {objectId = 'uint16'}} +INCOMING_RPCS[RPC.INTERPOLATECAMERA] = {'onInterpolateCamera', {setPos = 'bool'}, {fromPos = 'vector3d'}, {destPos = 'vector3d'}, {time = 'int32'}, {mode = 'uint8'}} +INCOMING_RPCS[RPC.GANGZONESTOPFLASH] = {'onGangZoneStopFlash', {zoneId = 'uint16'}} +INCOMING_RPCS[RPC.APPLYANIMATION] = {'onApplyPlayerAnimation', {playerId = 'uint16'}, {animLib = 'string8'}, {animName = 'string8'}, {frameDelta = 'float'}, {loop = 'bool'}, {lockX = 'bool'}, {lockY = 'bool'}, {freeze = 'bool'}, {time = 'int32'}} +INCOMING_RPCS[RPC.CLEARANIMATIONS] = {'onClearPlayerAnimation', {playerId = 'uint16'}} +INCOMING_RPCS[RPC.SETPLAYERSPECIALACTION] = {'onSetPlayerSpecialAction', {actionId = 'uint8'}} +INCOMING_RPCS[RPC.SETPLAYERFIGHTINGSTYLE] = {'onSetPlayerFightingStyle', {playerId = 'uint16'}, {styleId = 'uint8'}} +INCOMING_RPCS[RPC.SETPLAYERVELOCITY] = {'onSetPlayerVelocity', {velocity = 'vector3d'}} +INCOMING_RPCS[RPC.SETVEHICLEVELOCITY] = {'onSetVehicleVelocity', {turn = 'bool8'}, {velocity = 'vector3d'}} +INCOMING_RPCS[RPC.CLIENTMESSAGE] = {'onServerMessage', {color = 'int32'}, {text = 'string32'}} +INCOMING_RPCS[RPC.SETWORLDTIME] = {'onSetWorldTime', {hour = 'uint8'}} +INCOMING_RPCS[RPC.CREATEPICKUP] = {'onCreatePickup', {id = 'int32'}, {model = 'int32'}, {pickupType = 'int32'}, {position = 'vector3d'}} +INCOMING_RPCS[RPC.MOVEOBJECT] = {'onMoveObject', {objectId = 'uint16'}, {fromPos = 'vector3d'}, {destPos = 'vector3d'}, {speed = 'float'}, {rotation = 'vector3d'}} +INCOMING_RPCS[RPC.ENABLESTUNTBONUSFORPLAYER] = {'onEnableStuntBonus', {state = 'bool'}} +INCOMING_RPCS[RPC.TEXTDRAWSETSTRING] = {'onTextDrawSetString', {id = 'uint16'}, {text = 'string16'}} +INCOMING_RPCS[RPC.SETCHECKPOINT] = {'onSetCheckpoint', {position = 'vector3d'}, {radius = 'float'}} +INCOMING_RPCS[RPC.GANGZONECREATE] = {'onCreateGangZone', {zoneId = 'uint16'}, {squareStart = 'vector2d'}, {squareEnd = 'vector2d'}, {color = 'int32'}} +INCOMING_RPCS[RPC.PLAYCRIMEREPORT] = {'onPlayCrimeReport', {suspectId = 'uint16'}, {inVehicle = 'bool32'}, {vehicleModel = 'int32'}, {vehicleColor = 'int32'}, {crime = 'int32'}, {coordinates = 'vector3d'}} +INCOMING_RPCS[RPC.GANGZONEDESTROY] = {'onGangZoneDestroy', {zoneId = 'uint16'}} +INCOMING_RPCS[RPC.GANGZONEFLASH] = {'onGangZoneFlash', {zoneId = 'uint16'}, {color = 'int32'}} +INCOMING_RPCS[RPC.STOPOBJECT] = {'onStopObject', {objectId = 'uint16'}} +INCOMING_RPCS[RPC.SETNUMBERPLATE] = {'onSetVehicleNumberPlate', {vehicleId = 'uint16'}, {text = 'string8'}} +INCOMING_RPCS[RPC.TOGGLEPLAYERSPECTATING] = {'onTogglePlayerSpectating', {state = 'bool32'}} +INCOMING_RPCS[RPC.PLAYERSPECTATEPLAYER] = {'onSpectatePlayer', {playerId = 'uint16'}, {camType = 'uint8'}} +INCOMING_RPCS[RPC.PLAYERSPECTATEVEHICLE] = {'onSpectateVehicle', {vehicleId = 'uint16'}, {camType = 'uint8'}} +INCOMING_RPCS[RPC.SHOWTEXTDRAW] = {'onShowTextDraw', + {textdrawId = 'uint16'}, + {textdraw = { + {flags = 'uint8'}, + {letterWidth = 'float'}, + {letterHeight = 'float'}, + {letterColor = 'int32'}, + {lineWidth = 'float'}, + {lineHeight = 'float'}, + {boxColor = 'int32'}, + {shadow = 'uint8'}, + {outline = 'uint8'}, + {backgroundColor = 'int32'}, + {style = 'uint8'}, + {selectable = 'uint8'}, + {position = 'vector2d'}, + {modelId = 'uint16'}, + {rotation = 'vector3d'}, + {zoom = 'float'}, + {color = 'int32'}, + {text = 'string16'} + }} +} +INCOMING_RPCS[RPC.SETPLAYERWANTEDLEVEL] = {'onSetPlayerWantedLevel', {wantedLevel = 'uint8'}} +INCOMING_RPCS[RPC.TEXTDRAWHIDEFORPLAYER] = {'onTextDrawHide', {textDrawId = 'uint16'}} +INCOMING_RPCS[RPC.REMOVEPLAYERMAPICON] = {'onRemoveMapIcon', {iconId = 'uint8'}} +INCOMING_RPCS[RPC.SETPLAYERAMMO] = {'onSetWeaponAmmo', {weaponId = 'uint8'}, {ammo = 'uint16'}} +INCOMING_RPCS[RPC.SETGRAVITY] = {'onSetGravity', {gravity = 'float'}} +INCOMING_RPCS[RPC.SETVEHICLEHEALTH] = {'onSetVehicleHealth', {vehicleId = 'uint16'}, {health = 'float'}} +INCOMING_RPCS[RPC.ATTACHTRAILERTOVEHICLE] = {'onAttachTrailerToVehicle', {trailerId = 'uint16'}, {vehicleId = 'uint16'}} +INCOMING_RPCS[RPC.DETACHTRAILERFROMVEHICLE] = {'onDetachTrailerFromVehicle', {vehicleId = 'uint16'}} +INCOMING_RPCS[RPC.SETWEATHER] = {'onSetWeather', {weatherId = 'uint8'}} +INCOMING_RPCS[RPC.SETPLAYERSKIN] = {'onSetPlayerSkin', {playerId = 'int32'}, {skinId = 'int32'}} +INCOMING_RPCS[RPC.SETPLAYERINTERIOR] = {'onSetInterior', {interior = 'uint8'}} +INCOMING_RPCS[RPC.SETPLAYERCAMERAPOS] = {'onSetCameraPosition', {position = 'vector3d'}} +INCOMING_RPCS[RPC.SETPLAYERCAMERALOOKAT] = {'onSetCameraLookAt', {lookAtPosition = 'vector3d'}, {cutType = 'uint8'}} +INCOMING_RPCS[RPC.SETVEHICLEPOS] = {'onSetVehiclePosition', {vehicleId = 'uint16'}, {position = 'vector3d'}} +INCOMING_RPCS[RPC.SETVEHICLEZANGLE] = {'onSetVehicleAngle', {vehicleId = 'uint16'}, {angle = 'float'}} +INCOMING_RPCS[RPC.SETVEHICLEPARAMSFORPLAYER] = {'onSetVehicleParams', {vehicleId = 'uint16'}, {objective = 'bool8'}, {doorsLocked = 'bool8'}} +INCOMING_RPCS[RPC.SETCAMERABEHINDPLAYER] = {'onSetCameraBehind'} +INCOMING_RPCS[RPC.CHAT] = {'onChatMessage', {playerId = 'uint16'}, {text = 'string8'}} +INCOMING_RPCS[RPC.CONNECTIONREJECTED] = {'onConnectionRejected', {reason = 'uint8'}} +INCOMING_RPCS[RPC.WORLDPLAYERREMOVE] = {'onPlayerStreamOut', {playerId = 'uint16'}} +INCOMING_RPCS[RPC.WORLDVEHICLEADD] = {'onVehicleStreamIn', handler.rpc_vehicle_stream_in_reader, handler.rpc_vehicle_stream_in_writer} +INCOMING_RPCS[RPC.WORLDVEHICLEREMOVE] = {'onVehicleStreamOut', {vehicleId = 'uint16'}} +INCOMING_RPCS[RPC.WORLDPLAYERDEATH] = {'onPlayerDeath', {playerId = 'uint16'}} +INCOMING_RPCS[RPC.ENTERVEHICLE] = {'onPlayerEnterVehicle', {playerId = 'uint16'}, {vehicleId = 'uint16'}, {passenger = 'bool8'}} +INCOMING_RPCS[RPC.UPDATESCORESPINGSIPS] = {'onUpdateScoresAndPings', handler.rpc_update_scores_and_pings_reader, handler.rpc_update_scores_and_pings_writer} +INCOMING_RPCS[RPC.SETOBJECTMATERIAL] = {{'onSetObjectMaterial', 'onSetObjectMaterialText'}, handler.rpc_set_object_material_reader, handler.rpc_set_object_material_writer} +INCOMING_RPCS[RPC.CREATEACTOR] = {'onCreateActor', {actorId = 'uint16'}, {skinId = 'int32'}, {position = 'vector3d'}, {rotation = 'float'}, {health = 'float'}} +INCOMING_RPCS[RPC.CLICKTEXTDRAW] = {'onToggleSelectTextDraw', {state = 'bool'}, {hovercolor = 'int32'}} +INCOMING_RPCS[RPC.SETVEHICLEPARAMSEX] = {'onSetVehicleParamsEx', + {vehicleId = 'uint16'}, + {params = { + {engine = 'uint8'}, + {lights = 'uint8'}, + {alarm = 'uint8'}, + {doors = 'uint8'}, + {bonnet = 'uint8'}, + {boot = 'uint8'}, + {objective = 'uint8'}, + {unknown = 'uint8'} + }}, + {doors = { + {driver = 'uint8'}, + {passenger = 'uint8'}, + {backleft = 'uint8'}, + {backright = 'uint8'} + }}, + {windows = { + {driver = 'uint8'}, + {passenger = 'uint8'}, + {backleft = 'uint8'}, + {backright = 'uint8'} + }} +} +INCOMING_RPCS[RPC.SETPLAYERATTACHEDOBJECT] = {'onSetPlayerAttachedObject', + {playerId = 'uint16'}, + {index = 'int32'}, + {create = 'bool'}, + {object = { + {modelId = 'int32'}, + {bone = 'int32'}, + {offset = 'vector3d'}, + {rotation = 'vector3d'}, + {scale = 'vector3d'}, + {color1 = 'int32'}, + {color2 = 'int32'}} + } +} +INCOMING_RPCS[RPC.CLIENTCHECK] = {'onClientCheck', {requestType = 'uint8'}, {subject = 'int32'}, {offset = 'uint16'}, {length = 'uint16'}} +INCOMING_RPCS[RPC.DESTROYACTOR] = {'onDestroyActor', {actorId = 'uint16'}} +INCOMING_RPCS[RPC.DESTROYWEAPONPICKUP] = {'onDestroyWeaponPickup', {id = 'uint8'}} +INCOMING_RPCS[RPC.EDITATTACHEDOBJECT] = {'onEditAttachedObject', {index = 'int32'}} +INCOMING_RPCS[RPC.TOGGLECAMERATARGET] = {'onToggleCameraTargetNotifying', {enable = 'bool'}} +INCOMING_RPCS[RPC.SELECTOBJECT] = {'onEnterSelectObject'} +INCOMING_RPCS[RPC.EXITVEHICLE] = {'onPlayerExitVehicle', {playerId = 'uint16'}, {vehicleId = 'uint16'}} +INCOMING_RPCS[RPC.SCMEVENT] = {'onVehicleTuningNotification', {playerId = 'uint16'}, {event = 'int32'}, {vehicleId = 'int32'}, {param1 = 'int32'}, {param2 = 'int32'}} +INCOMING_RPCS[RPC.SRVNETSTATS] = {'onServerStatisticsResponse'} --, {data = 'RakNetStatisticsStruct'}} +INCOMING_RPCS[RPC.EDITOBJECT] = {'onEnterEditObject', {playerObject = 'bool'}, {objectId = 'uint16'}} +INCOMING_RPCS[RPC.DAMAGEVEHICLE] = {'onVehicleDamageStatusUpdate', {vehicleId = 'uint16'}, {panelDmg = 'int32'}, {doorDmg = 'int32'}, {lights = 'uint8'}, {tires = 'uint8'}} +INCOMING_RPCS[RPC.DISABLEVEHICLECOLLISIONS] = {'onDisableVehicleCollisions', {disable = 'bool'}} +INCOMING_RPCS[RPC.TOGGLEWIDESCREEN] = {'onToggleWidescreen', {enable = 'bool8'}} +INCOMING_RPCS[RPC.SETVEHICLETIRES] = {'onSetVehicleTires', {vehicleId = 'uint16'}, {tires = 'uint8'}} +INCOMING_RPCS[RPC.SETPLAYERDRUNKVISUALS] = {'onSetPlayerDrunkVisuals', {level = 'int32'}} +INCOMING_RPCS[RPC.SETPLAYERDRUNKHANDLING] = {'onSetPlayerDrunkHandling', {level = 'int32'}} +INCOMING_RPCS[RPC.APPLYACTORANIMATION] = {'onApplyActorAnimation', {actorId = 'uint16'}, {animLib = 'string8'}, {animName = 'string8'}, {frameDelta = 'float'}, {loop = 'bool'}, {lockX = 'bool'}, {lockY = 'bool'}, {freeze = 'bool'}, {time = 'int32'}} +INCOMING_RPCS[RPC.CLEARACTORANIMATION] = {'onClearActorAnimation', {actorId = 'uint16'}} +INCOMING_RPCS[RPC.SETACTORROTATION] = {'onSetActorFacingAngle', {actorId = 'uint16'}, {angle = 'float'}} +INCOMING_RPCS[RPC.SETACTORPOSITION] = {'onSetActorPos', {actorId = 'uint16'}, {position = 'vector3d'}} +INCOMING_RPCS[RPC.SETACTORHEALTH] = {'onSetActorHealth', {actorId = 'uint16'}, {health = 'float'}} +INCOMING_RPCS[RPC.SETPLAYEROBJECTNOCAMCOL] = {'onSetPlayerObjectNoCameraCol', {objectId = 'uint16'}} +INCOMING_RPCS[125] = {'_dummy125'} +INCOMING_RPCS[64] = {'_dummy64', {'uint16'}} +INCOMING_RPCS[48] = {'_unused48', {'int32'}} + + +-- Outgoing packets +OUTCOMING_PACKETS[PACKET.RCON_COMMAND] = {'onSendRconCommand', {command = 'string32'}} +OUTCOMING_PACKETS[PACKET.STATS_UPDATE] = {'onSendStatsUpdate', {money = 'int32'}, {drunkLevel = 'int32'}} +local function empty_writer() end +OUTCOMING_PACKETS[PACKET.PLAYER_SYNC] = {'onSendPlayerSync', function(bs) return utils.process_outcoming_sync_data(bs, 'PlayerSyncData') end, empty_writer} +OUTCOMING_PACKETS[PACKET.VEHICLE_SYNC] = {'onSendVehicleSync', function(bs) return utils.process_outcoming_sync_data(bs, 'VehicleSyncData') end, empty_writer} +OUTCOMING_PACKETS[PACKET.PASSENGER_SYNC] = {'onSendPassengerSync', function(bs) return utils.process_outcoming_sync_data(bs, 'PassengerSyncData') end, empty_writer} +OUTCOMING_PACKETS[PACKET.AIM_SYNC] = {'onSendAimSync', function(bs) return utils.process_outcoming_sync_data(bs, 'AimSyncData') end, empty_writer} +OUTCOMING_PACKETS[PACKET.UNOCCUPIED_SYNC] = {'onSendUnoccupiedSync', function(bs) return utils.process_outcoming_sync_data(bs, 'UnoccupiedSyncData') end, empty_writer} +OUTCOMING_PACKETS[PACKET.TRAILER_SYNC] = {'onSendTrailerSync', function(bs) return utils.process_outcoming_sync_data(bs, 'TrailerSyncData') end, empty_writer} +OUTCOMING_PACKETS[PACKET.BULLET_SYNC] = {'onSendBulletSync', function(bs) return utils.process_outcoming_sync_data(bs, 'BulletSyncData') end, empty_writer} +OUTCOMING_PACKETS[PACKET.SPECTATOR_SYNC] = {'onSendSpectatorSync', function(bs) return utils.process_outcoming_sync_data(bs, 'SpectatorSyncData') end, empty_writer} +OUTCOMING_PACKETS[PACKET.WEAPONS_UPDATE] = {'onSendWeaponsUpdate', handler.packet_weapons_update_reader, handler.packet_weapons_update_writer} +OUTCOMING_PACKETS[PACKET.AUTHENTICATION] = {'onSendAuthenticationResponse', {response = 'string8'}} + +-- Incoming packets +INCOMING_PACKETS[PACKET.PLAYER_SYNC] = {'onPlayerSync', handler.packet_player_sync_reader, handler.packet_player_sync_writer} +INCOMING_PACKETS[PACKET.VEHICLE_SYNC] = {'onVehicleSync', handler.packet_vehicle_sync_reader, handler.packet_vehicle_sync_writer} +INCOMING_PACKETS[PACKET.MARKERS_SYNC] = {'onMarkersSync', handler.packet_markers_sync_reader, handler.packet_markers_sync_writer} +INCOMING_PACKETS[PACKET.AIM_SYNC] = {'onAimSync', {playerId = 'uint16'}, {data = 'AimSyncData'}} +INCOMING_PACKETS[PACKET.BULLET_SYNC] = {'onBulletSync', {playerId = 'uint16'}, {data = 'BulletSyncData'}} +INCOMING_PACKETS[PACKET.UNOCCUPIED_SYNC] = {'onUnoccupiedSync', {playerId = 'uint16'}, {data = 'UnoccupiedSyncData'}} +INCOMING_PACKETS[PACKET.TRAILER_SYNC] = {'onTrailerSync', {playerId = 'uint16'}, {data = 'TrailerSyncData'}} +INCOMING_PACKETS[PACKET.PASSENGER_SYNC] = {'onPassengerSync', {playerId = 'uint16'}, {data = 'PassengerSyncData'}} +INCOMING_PACKETS[PACKET.AUTHENTICATION] = {'onAuthenticationRequest', {key = 'string8'}} +INCOMING_PACKETS[PACKET.CONNECTION_REQUEST_ACCEPTED] = {'onConnectionRequestAccepted', {ip = 'int32'}, {port = 'uint16'}, {playerId = 'uint16'}, {challenge = 'int32'}} +INCOMING_PACKETS[PACKET.CONNECTION_LOST] = {'onConnectionLost'} +INCOMING_PACKETS[PACKET.CONNECTION_BANNED] = {'onConnectionBanned'} +INCOMING_PACKETS[PACKET.CONNECTION_ATTEMPT_FAILED] = {'onConnectionAttemptFailed'} +INCOMING_PACKETS[PACKET.NO_FREE_INCOMING_CONNECTIONS] = {'onConnectionNoFreeSlot'} +INCOMING_PACKETS[PACKET.INVALID_PASSWORD] = {'onConnectionPasswordInvalid'} +INCOMING_PACKETS[PACKET.DISCONNECTION_NOTIFICATION] = {'onConnectionClosed'} + +return events diff --git a/samp/events/bitstream_io.lua b/samp/events/bitstream_io.lua new file mode 100644 index 0000000..b215392 --- /dev/null +++ b/samp/events/bitstream_io.lua @@ -0,0 +1,267 @@ +-- This file is part of the SAMP.Lua project. +-- Licensed under the MIT License. +-- Copyright (c) 2016, FYP @ BlastHack Team +-- https://github.com/THE-FYP/SAMP.Lua + +local mod = {} +local vector3d = require 'vector3d' +local ffi = require 'ffi' + +local function bitstream_read_fixed_string(bs, size) + local buf = ffi.new('uint8_t[?]', size + 1) + raknetBitStreamReadBuffer(bs, tonumber(ffi.cast('intptr_t', buf)), size) + buf[size] = 0 + -- Length is not specified to throw off trailing zeros. + return ffi.string(buf) +end + +local function bitstream_write_fixed_string(bs, str, size) + local buf = ffi.new('uint8_t[?]', size, string.sub(str, 1, size)) + raknetBitStreamWriteBuffer(bs, tonumber(ffi.cast('intptr_t', buf)), size) +end + +mod.bool = { + read = function(bs) return raknetBitStreamReadBool(bs) end, + write = function(bs, value) return raknetBitStreamWriteBool(bs, value) end +} + +mod.uint8 = { + read = function(bs) return raknetBitStreamReadInt8(bs) end, + write = function(bs, value) return raknetBitStreamWriteInt8(bs, value) end +} + +mod.uint16 = { + read = function(bs) return raknetBitStreamReadInt16(bs) end, + write = function(bs, value) return raknetBitStreamWriteInt16(bs, value) end +} + +mod.uint32 = { + read = function(bs) + local v = raknetBitStreamReadInt32(bs) + return v < 0 and 0x100000000 + v or v + end, + write = function(bs, value) + return raknetBitStreamWriteInt32(bs, value) + end +} + +mod.int8 = { + read = function(bs) + local v = raknetBitStreamReadInt8(bs) + return v >= 0x80 and v - 0x100 or v + end, + write = function(bs, value) + return raknetBitStreamWriteInt8(bs, value) + end +} + +mod.int16 = { + read = function(bs) + local v = raknetBitStreamReadInt16(bs) + return v >= 0x8000 and v - 0x10000 or v + end, + write = function(bs, value) + return raknetBitStreamWriteInt16(bs, value) + end +} + +mod.int32 = { + read = function(bs) return raknetBitStreamReadInt32(bs) end, + write = function(bs, value) return raknetBitStreamWriteInt32(bs, value) end +} + +mod.float = { + read = function(bs) return raknetBitStreamReadFloat(bs) end, + write = function(bs, value) return raknetBitStreamWriteFloat(bs, value) end +} + +mod.string8 = { + read = function(bs) + local len = raknetBitStreamReadInt8(bs) + if len <= 0 then return '' end + return raknetBitStreamReadString(bs, len) + end, + write = function(bs, value) + raknetBitStreamWriteInt8(bs, #value) + raknetBitStreamWriteString(bs, value) + end +} + +mod.string16 = { + read = function(bs) + local len = raknetBitStreamReadInt16(bs) + if len <= 0 then return '' end + return raknetBitStreamReadString(bs, len) + end, + write = function(bs, value) + raknetBitStreamWriteInt16(bs, #value) + raknetBitStreamWriteString(bs, value) + end +} + +mod.string32 = { + read = function(bs) + local len = raknetBitStreamReadInt32(bs) + if len <= 0 then return '' end + return raknetBitStreamReadString(bs, len) + end, + write = function(bs, value) + raknetBitStreamWriteInt32(bs, #value) + raknetBitStreamWriteString(bs, value) + end +} + +mod.bool8 = { + read = function(bs) + return raknetBitStreamReadInt8(bs) ~= 0 + end, + write = function(bs, value) + raknetBitStreamWriteInt8(bs, value == true and 1 or 0) + end +} + +mod.bool32 = { + read = function(bs) + return raknetBitStreamReadInt32(bs) ~= 0 + end, + write = function(bs, value) + raknetBitStreamWriteInt32(bs, value == true and 1 or 0) + end +} + +mod.int1 = { + read = function(bs) + if raknetBitStreamReadBool(bs) == true then return 1 else return 0 end + end, + write = function(bs, value) + raknetBitStreamWriteBool(bs, value ~= 0 and true or false) + end +} + +mod.fixedString32 = { + read = function(bs) + return bitstream_read_fixed_string(bs, 32) + end, + write = function(bs, value) + bitstream_write_fixed_string(bs, value, 32) + end +} + +mod.string256 = mod.fixedString32 + +mod.encodedString2048 = { + read = function(bs) return raknetBitStreamDecodeString(bs, 2048) end, + write = function(bs, value) raknetBitStreamEncodeString(bs, value) end +} + +mod.encodedString4096 = { + read = function(bs) return raknetBitStreamDecodeString(bs, 4096) end, + write = function(bs, value) raknetBitStreamEncodeString(bs, value) end +} + +mod.compressedFloat = { + read = function(bs) + return raknetBitStreamReadInt16(bs) / 32767.5 - 1 + end, + write = function(bs, value) + if value < -1 then + value = -1 + elseif value > 1 then + value = 1 + end + raknetBitStreamWriteInt16(bs, (value + 1) * 32767.5) + end +} + +mod.compressedVector = { + read = function(bs) + local magnitude = raknetBitStreamReadFloat(bs) + if magnitude ~= 0 then + local readCf = mod.compressedFloat.read + return vector3d(readCf(bs) * magnitude, readCf(bs) * magnitude, readCf(bs) * magnitude) + else + return vector3d(0, 0, 0) + end + end, + write = function(bs, data) + local x, y, z = data.x, data.y, data.z + local magnitude = math.sqrt(x * x + y * y + z * z) + raknetBitStreamWriteFloat(bs, magnitude) + if magnitude > 0 then + local writeCf = mod.compressedFloat.write + writeCf(bs, x / magnitude) + writeCf(bs, y / magnitude) + writeCf(bs, z / magnitude) + end + end +} + +mod.normQuat = { + read = function(bs) + local readBool, readShort = raknetBitStreamReadBool, raknetBitStreamReadInt16 + local cwNeg, cxNeg, cyNeg, czNeg = readBool(bs), readBool(bs), readBool(bs), readBool(bs) + local cx, cy, cz = readShort(bs), readShort(bs), readShort(bs) + local x = cx / 65535 + local y = cy / 65535 + local z = cz / 65535 + if cxNeg then x = -x end + if cyNeg then y = -y end + if czNeg then z = -z end + local diff = 1 - x * x - y * y - z * z + if diff < 0 then diff = 0 end + local w = math.sqrt(diff) + if cwNeg then w = -w end + return {w, x, y, z} + end, + write = function(bs, value) + local w, x, y, z = value[1], value[2], value[3], value[4] + raknetBitStreamWriteBool(bs, w < 0) + raknetBitStreamWriteBool(bs, x < 0) + raknetBitStreamWriteBool(bs, y < 0) + raknetBitStreamWriteBool(bs, z < 0) + raknetBitStreamWriteInt16(bs, math.abs(x) * 65535) + raknetBitStreamWriteInt16(bs, math.abs(y) * 65535) + raknetBitStreamWriteInt16(bs, math.abs(z) * 65535) + -- w is calculated on the target + end +} + +mod.vector3d = { + read = function(bs) + local x, y, z = + raknetBitStreamReadFloat(bs), + raknetBitStreamReadFloat(bs), + raknetBitStreamReadFloat(bs) + return vector3d(x, y, z) + end, + write = function(bs, value) + raknetBitStreamWriteFloat(bs, value.x) + raknetBitStreamWriteFloat(bs, value.y) + raknetBitStreamWriteFloat(bs, value.z) + end +} + +mod.vector2d = { + read = function(bs) + local x = raknetBitStreamReadFloat(bs) + local y = raknetBitStreamReadFloat(bs) + return {x = x, y = y} + end, + write = function(bs, value) + raknetBitStreamWriteFloat(bs, value.x) + raknetBitStreamWriteFloat(bs, value.y) + end +} + +local function bitstream_io_interface(field) + return setmetatable({}, { + __index = function(t, index) + return mod[index][field] + end + }) +end + +mod.bs_read = bitstream_io_interface('read') +mod.bs_write = bitstream_io_interface('write') + +return mod diff --git a/samp/events/core.lua b/samp/events/core.lua new file mode 100644 index 0000000..0d30174 --- /dev/null +++ b/samp/events/core.lua @@ -0,0 +1,141 @@ +-- This file is part of the SAMP.Lua project. +-- Licensed under the MIT License. +-- Copyright (c) 2016, FYP @ BlastHack Team +-- https://github.com/THE-FYP/SAMP.Lua + +local MODULE = { + MODULEINFO = { + name = 'samp.events', + version = 4 + }, + INTERFACE = { + OUTCOMING_RPCS = {}, + OUTCOMING_PACKETS = {}, + INCOMING_RPCS = {}, + INCOMING_PACKETS = {} + }, + EXPORTS = {} +} + +-- check dependencies +assert(isSampLoaded(), 'SA-MP is not loaded') +assert(isSampfuncsLoaded(), 'samp.events requires SAMPFUNCS') +assert(getMoonloaderVersion() >= 20, 'samp.events requires MoonLoader v.020 or greater') + +local BitStreamIO = require 'samp.events.bitstream_io' +MODULE.INTERFACE.BitStreamIO = BitStreamIO + + +local function read_data(bs, dataType) + if type(dataType) ~= 'table' then + return BitStreamIO[dataType].read(bs) + else -- process nested structures + local values = {} + for _, it in ipairs(dataType) do + local name, t = next(it) + values[name] = read_data(bs, t) + end + return values + end +end + +local function write_data(bs, dataType, value) + if type(dataType) ~= 'table' then + BitStreamIO[dataType].write(bs, value) + else -- process nested structures + for _, it in ipairs(dataType) do + local name, t = next(it) + write_data(bs, t, value[name]) + end + end +end + +local function process_event(bs, callback, struct, ignorebits) + local args = {} + if bs ~= 0 then + if ignorebits then + raknetBitStreamIgnoreBits(bs, ignorebits) + end + if type(struct[2]) == 'function' then + local r1, r2 = struct[2](bs) -- call custom reading function + if type(callback) == 'table' and type(r1) == 'string' then + callback = callback[r1] + if callback then + args = r2 + else + return + end + else + args = r1 + end + else + -- skip event name + for i = 2, #struct do + local _, t = next(struct[i]) -- type + table.insert(args, read_data(bs, t)) + end + end + end + local result = callback(unpack(args)) + if result == false then + return false -- consume packet + end + if bs ~= 0 and type(result) == 'table' then + raknetBitStreamSetWriteOffset(bs, ignorebits or 0) + if type(struct[3]) == 'function' then + struct[3](bs, result) -- call custom writing function + else + assert(#struct - 1 == #result) + for i = 2, #struct do + local _, t = next(struct[i]) -- type + write_data(bs, t, result[i - 1]) + end + end + end +end + +local function process_packet(id, bs, event_table, ignorebits) + local entry = event_table[id] + if entry ~= nil then + local key = entry[1] + local callback = nil + if type(key) == 'table' then + for i, name in ipairs(key) do + if type(MODULE[name]) == 'function' then + if not callback then callback = {} end + callback[name] = MODULE[name] + end + end + elseif type(MODULE[key]) == 'function' then + callback = MODULE[key] + end + if callback then + return process_event(bs, callback, entry, ignorebits) + end + end +end + + +local interface = MODULE.INTERFACE +local function samp_on_send_rpc(id, bitStream, priority, reliability, orderingChannel, shiftTs) + return process_packet(id, bitStream, interface.OUTCOMING_RPCS) +end + +local function samp_on_send_packet(id, bitStream, priority, reliability, orderingChannel) + return process_packet(id, bitStream, interface.OUTCOMING_PACKETS, 8) +end + +local function samp_on_receive_rpc(id, bitStream) + return process_packet(id, bitStream, interface.INCOMING_RPCS) +end + +local function samp_on_receive_packet(id, bitStream) + return process_packet(id, bitStream, interface.INCOMING_PACKETS, 8) +end + +addEventHandler('onSendRpc', samp_on_send_rpc) +addEventHandler('onSendPacket', samp_on_send_packet) +addEventHandler('onReceiveRpc', samp_on_receive_rpc) +addEventHandler('onReceivePacket', samp_on_receive_packet) + +return MODULE diff --git a/samp/events/extra_types.lua b/samp/events/extra_types.lua new file mode 100644 index 0000000..9525305 --- /dev/null +++ b/samp/events/extra_types.lua @@ -0,0 +1,45 @@ +-- This file is part of the SAMP.Lua project. +-- Licensed under the MIT License. +-- Copyright (c) 2016, FYP @ BlastHack Team +-- https://github.com/THE-FYP/SAMP.Lua + +local BitStreamIO = require 'samp.events.bitstream_io' +local utils = require 'samp.events.utils' + +BitStreamIO.Int32Array3 = { + read = function(bs) + local arr = {} + for i = 1, 3 do arr[i] = raknetBitStreamReadInt32(bs) end + return arr + end, + write = function(bs, value) + for i = 1, 3 do raknetBitStreamWriteInt32(bs, value[i]) end + end +} + +BitStreamIO.AimSyncData = { + read = function(bs) return utils.read_sync_data(bs, 'AimSyncData') end, + write = function(bs, value) utils.write_sync_data(bs, 'AimSyncData', value) end +} + +BitStreamIO.UnoccupiedSyncData = { + read = function(bs) return utils.read_sync_data(bs, 'UnoccupiedSyncData') end, + write = function(bs, value) utils.write_sync_data(bs, 'UnoccupiedSyncData', value) end +} + +BitStreamIO.PassengerSyncData = { + read = function(bs) return utils.read_sync_data(bs, 'PassengerSyncData') end, + write = function(bs, value) utils.write_sync_data(bs, 'PassengerSyncData', value) end +} + +BitStreamIO.BulletSyncData = { + read = function(bs) return utils.read_sync_data(bs, 'BulletSyncData') end, + write = function(bs, value) utils.write_sync_data(bs, 'BulletSyncData', value) end +} + +BitStreamIO.TrailerSyncData = { + read = function(bs) return utils.read_sync_data(bs, 'TrailerSyncData') end, + write = function(bs, value) utils.write_sync_data(bs, 'TrailerSyncData', value) end +} + +return BitStreamIO diff --git a/samp/events/handlers.lua b/samp/events/handlers.lua new file mode 100644 index 0000000..1029acf --- /dev/null +++ b/samp/events/handlers.lua @@ -0,0 +1,526 @@ +-- This file is part of the SAMP.Lua project. +-- Licensed under the MIT License. +-- Copyright (c) 2016, FYP @ BlastHack Team +-- https://github.com/THE-FYP/SAMP.Lua + +local bs_io = require 'samp.events.bitstream_io' +local utils = require 'samp.events.utils' +local bsread, bswrite = bs_io.bs_read, bs_io.bs_write +local handler = {} + +--- onSendGiveDamage, onSendTakeDamage +function handler.rpc_send_give_take_damage_reader(bs) + local take = bsread.bool(bs) -- 'true' is take damage + local data = { + bsread.uint16(bs), -- playerId + bsread.float(bs), -- damage + bsread.int32(bs), -- weapon + bsread.int32(bs), -- bodypart + take, + } + return (take and 'onSendTakeDamage' or 'onSendGiveDamage'), data +end + +function handler.rpc_send_give_take_damage_writer(bs, data) + bswrite.bool(bs, data[5]) -- give or take + bswrite.uint16(bs, data[1]) -- playerId + bswrite.float(bs, data[2]) -- damage + bswrite.int32(bs, data[3]) -- weapon + bswrite.int32(bs, data[4]) -- bodypart +end + +--- onInitGame +function handler.rpc_init_game_reader(bs) + local settings = {} + settings.zoneNames = bsread.bool(bs) + settings.useCJWalk = bsread.bool(bs) + settings.allowWeapons = bsread.bool(bs) + settings.limitGlobalChatRadius = bsread.bool(bs) + settings.globalChatRadius = bsread.float(bs) + settings.stuntBonus = bsread.bool(bs) + settings.nametagDrawDist = bsread.float(bs) + settings.disableEnterExits = bsread.bool(bs) + settings.nametagLOS = bsread.bool(bs) + settings.tirePopping = bsread.bool(bs) + settings.classesAvailable = bsread.int32(bs) + local playerId = bsread.uint16(bs) + settings.showPlayerTags = bsread.bool(bs) + settings.playerMarkersMode = bsread.int32(bs) + settings.worldTime = bsread.uint8(bs) + settings.worldWeather = bsread.uint8(bs) + settings.gravity = bsread.float(bs) + settings.lanMode = bsread.bool(bs) + settings.deathMoneyDrop = bsread.int32(bs) + settings.instagib = bsread.bool(bs) + settings.normalOnfootSendrate = bsread.int32(bs) + settings.normalIncarSendrate = bsread.int32(bs) + settings.normalFiringSendrate = bsread.int32(bs) + settings.sendMultiplier = bsread.int32(bs) + settings.lagCompMode = bsread.int32(bs) + local hostName = bsread.string8(bs) + local vehicleModels = {} + for i = 0, 212 - 1 do + vehicleModels[i] = bsread.uint8(bs) + end + settings.vehicleFriendlyFire = bsread.bool32(bs) + return {playerId, hostName, settings, vehicleModels, settings.vehicleFriendlyFire} +end + +function handler.rpc_init_game_writer(bs, data) + local settings = data[3] + local vehicleModels = data[4] + bswrite.bool(bs, settings.zoneNames) + bswrite.bool(bs, settings.useCJWalk) + bswrite.bool(bs, settings.allowWeapons) + bswrite.bool(bs, settings.limitGlobalChatRadius) + bswrite.float(bs, settings.globalChatRadius) + bswrite.bool(bs, settings.stuntBonus) + bswrite.float(bs, settings.nametagDrawDist) + bswrite.bool(bs, settings.disableEnterExits) + bswrite.bool(bs, settings.nametagLOS) + bswrite.bool(bs, settings.tirePopping) + bswrite.int32(bs, settings.classesAvailable) + bswrite.uint16(bs, data[1]) -- playerId + bswrite.bool(bs, settings.showPlayerTags) + bswrite.int32(bs, settings.playerMarkersMode) + bswrite.uint8(bs, settings.worldTime) + bswrite.uint8(bs, settings.worldWeather) + bswrite.float(bs, settings.gravity) + bswrite.bool(bs, settings.lanMode) + bswrite.int32(bs, settings.deathMoneyDrop) + bswrite.bool(bs, settings.instagib) + bswrite.int32(bs, settings.normalOnfootSendrate) + bswrite.int32(bs, settings.normalIncarSendrate) + bswrite.int32(bs, settings.normalFiringSendrate) + bswrite.int32(bs, settings.sendMultiplier) + bswrite.int32(bs, settings.lagCompMode) + bswrite.string8(bs, data[2]) -- hostName + for i = 1, 212 do + bswrite.uint8(bs, vehicleModels[i]) + end + bswrite.bool32(bs, settings.vehicleFriendlyFire) +end + +--- onInitMenu +function handler.rpc_init_menu_reader(bs) + local colWidth2 + local rows = {} + local columns = {} + local readColumn = function(width) + local title = bsread.fixedString32(bs) + local rowCount = bsread.uint8(bs) + local column = {title = title, width = width, text = {}} + for i = 1, rowCount do + column.text[i] = bsread.fixedString32(bs) + end + return column + end + local menuId = bsread.uint8(bs) + local twoColumns = bsread.bool32(bs) + local menuTitle = bsread.fixedString32(bs) + local x = bsread.float(bs) + local y = bsread.float(bs) + local colWidth1 = bsread.float(bs) + if twoColumns then + colWidth2 = bsread.float(bs) + end + local menu = bsread.bool32(bs) + for i = 1, 12 do + rows[i] = bsread.int32(bs) + end + columns[1] = readColumn(colWidth1) + if twoColumns then + columns[2] = readColumn(colWidth2) + end + return {menuId, menuTitle, x, y, twoColumns, columns, rows, menu} +end + +function handler.rpc_init_menu_writer(bs, data) + local columns = data[6] + bswrite.uint8(bs, data[1]) -- menuId + bswrite.bool32(bs, data[5]) -- twoColumns + bswrite.fixedString32(bs, data[2]) -- title + bswrite.float(bs, data[3]) -- x + bswrite.float(bs, data[4]) -- y + -- columns width + bswrite.float(bs, columns[1].width) + if data[5] then + bswrite.float(bs, columns[2].width) + end + bswrite.bool32(bs, data[8]) -- menu + -- rows + for i = 1, 12 do + bswrite.int32(bs, data[7][i]) + end + -- columns + for i = 1, (data[5] and 2 or 1) do + bswrite.fixedString32(bs, columns[i].title) + bswrite.uint8(bs, #columns[i].text) + for r, t in ipairs(columns[i].text) do + bswrite.fixedString32(bs, t) + end + end +end + +--- onMarkersSync +function handler.packet_markers_sync_reader(bs) + local markers = {} + local players = bsread.int32(bs) + for i = 1, players do + local playerId = bsread.uint16(bs) + local active = bsread.bool(bs) + if active then + local vector3d = require 'vector3d' + local x, y, z = bsread.int16(bs), bsread.int16(bs), bsread.int16(bs) + table.insert(markers, {playerId = playerId, active = true, coords = vector3d(x, y, z)}) + else + table.insert(markers, {playerId = playerId, active = false}) + end + end + return {markers} +end + +function handler.packet_markers_sync_writer(bs, data) + bswrite.int32(bs, #data) + for i = 1, #data do + local it = data[i] + bswrite.uint16(bs, it.playerId) + bswrite.bool(bs, it.active) + if it.active then + bswrite.uint16(bs, it.coords.x) + bswrite.uint16(bs, it.coords.y) + bswrite.uint16(bs, it.coords.z) + end + end +end + +--- onPlayerSync +function handler.packet_player_sync_reader(bs) + local has_value = bsread.bool + local data = {} + local playerId = bsread.uint16(bs) + if has_value(bs) then data.leftRightKeys = bsread.uint16(bs) end + if has_value(bs) then data.upDownKeys = bsread.uint16(bs) end + data.keysData = bsread.uint16(bs) + data.position = bsread.vector3d(bs) + data.quaternion = bsread.normQuat(bs) + data.health, data.armor = utils.decompress_health_and_armor(bsread.uint8(bs)) + data.weapon = bsread.uint8(bs) + data.specialAction = bsread.uint8(bs) + data.moveSpeed = bsread.compressedVector(bs) + if has_value(bs) then + data.surfingVehicleId = bsread.uint16(bs) + data.surfingOffsets = bsread.vector3d(bs) + end + if has_value(bs) then + data.animationId = bsread.uint16(bs) + data.animationFlags = bsread.uint16(bs) + end + return {playerId, data} +end + +function handler.packet_player_sync_writer(bs, data) + local playerId = data[1] + local data = data[2] + bswrite.uint16(bs, playerId) + bswrite.bool(bs, data.leftRightKeys ~= nil) + if data.leftRightKeys then bswrite.uint16(bs, data.leftRightKeys) end + bswrite.bool(bs, data.upDownKeys ~= nil) + if data.upDownKeys then bswrite.uint16(bs, data.upDownKeys) end + bswrite.uint16(bs, data.keysData) + bswrite.vector3d(bs, data.position) + bswrite.normQuat(bs, data.quaternion) + bswrite.uint8(bs, utils.compress_health_and_armor(data.health, data.armor)) + bswrite.uint8(bs, data.weapon) + bswrite.uint8(bs, data.specialAction) + bswrite.compressedVector(bs, data.moveSpeed) + bswrite.bool(bs, data.surfingVehicleId ~= nil) + if data.surfingVehicleId then + bswrite.uint16(bs, data.surfingVehicleId) + bswrite.vector3d(bs, data.surfingOffsets) + end + bswrite.bool(bs, data.animationId ~= nil) + if data.animationId then + bswrite.uint16(bs, data.animationId) + bswrite.uint16(bs, data.animationFlags) + end +end + +--- onVehicleSync +function handler.packet_vehicle_sync_reader(bs) + local data = {} + local playerId = bsread.uint16(bs) + local vehicleId = bsread.uint16(bs) + data.leftRightKeys = bsread.uint16(bs) + data.upDownKeys = bsread.uint16(bs) + data.keysData = bsread.uint16(bs) + data.quaternion = bsread.normQuat(bs) + data.position = bsread.vector3d(bs) + data.moveSpeed = bsread.compressedVector(bs) + data.vehicleHealth = bsread.uint16(bs) + data.playerHealth, data.armor = utils.decompress_health_and_armor(bsread.uint8(bs)) + data.currentWeapon = bsread.uint8(bs) + data.siren = bsread.bool(bs) + data.landingGear = bsread.bool(bs) + if bsread.bool(bs) then + data.trainSpeed = bsread.int32(bs) + end + if bsread.bool(bs) then + data.trailerId = bsread.uint16(bs) + end + return {playerId, vehicleId, data} +end + +function handler.packet_vehicle_sync_writer(bs, data) + local playerId = data[1] + local vehicleId = data[2] + local data = data[3] + bswrite.uint16(bs, playerId) + bswrite.uint16(bs, vehicleId) + bswrite.uint16(bs, data.leftRightKeys) + bswrite.uint16(bs, data.upDownKeys) + bswrite.uint16(bs, data.keysData) + bswrite.normQuat(bs, data.quaternion) + bswrite.vector3d(bs, data.position) + bswrite.compressedVector(bs, data.moveSpeed) + bswrite.uint16(bs, data.vehicleHealth) + bswrite.uint8(bs, utils.compress_health_and_armor(data.playerHealth, data.armor)) + bswrite.uint8(bs, data.currentWeapon) + bswrite.bool(bs, data.siren) + bswrite.bool(bs, data.landingGear) + bswrite.bool(bs, data.trainSpeed ~= nil) + if data.trainSpeed ~= nil then + bswrite.int32(bs, data.trainSpeed) + end + bswrite.bool(bs, data.trailerId ~= nil) + if data.trailerId ~= nil then + bswrite.uint16(bs, data.trailerId) + end +end + +--- onVehicleStreamIn +function handler.rpc_vehicle_stream_in_reader(bs) + local data = {modSlots = {}} + local vehicleId = bsread.uint16(bs) + data.type = bsread.int32(bs) + data.position = bsread.vector3d(bs) + data.rotation = bsread.float(bs) + data.bodyColor1 = bsread.uint8(bs) + data.bodyColor2 = bsread.uint8(bs) + data.health = bsread.float(bs) + data.interiorId = bsread.uint8(bs) + data.doorDamageStatus = bsread.int32(bs) + data.panelDamageStatus = bsread.int32(bs) + data.lightDamageStatus = bsread.uint8(bs) + data.tireDamageStatus = bsread.uint8(bs) + data.addSiren = bsread.uint8(bs) + for i = 1, 14 do + data.modSlots[i] = bsread.uint8(bs) + end + data.paintJob = bsread.uint8(bs) + data.interiorColor1 = bsread.int32(bs) + data.interiorColor2 = bsread.int32(bs) + return {vehicleId, data} +end + +function handler.rpc_vehicle_stream_in_writer(bs, data) + local vehicleId = data[1] + local data = data[2] + bswrite.uint16(bs, vehicleId) + bswrite.int32(bs, data.type) + bswrite.vector3d(bs, data.position) + bswrite.float(bs, data.rotation) + bswrite.uint8(bs, data.bodyColor1) + bswrite.uint8(bs, data.bodyColor2) + bswrite.float(bs, data.health) + bswrite.uint8(bs, data.interiorId) + bswrite.int32(bs, data.doorDamageStatus) + bswrite.int32(bs, data.panelDamageStatus) + bswrite.uint8(bs, data.lightDamageStatus) + bswrite.uint8(bs, data.tireDamageStatus) + bswrite.uint8(bs, data.addSiren) + for i = 1, 14 do + bswrite.uint8(bs, data.modSlots[i]) + end + bswrite.uint8(bs, data.paintJob) + bswrite.int32(bs, data.interiorColor1) + bswrite.int32(bs, data.interiorColor2) +end + +local MATERIAL_TYPE = { + NONE = 0, + TEXTURE = 1, + TEXT = 2, +} + +local function read_object_material(bs) + local data = {} + data.materialId = bsread.uint8(bs) + data.modelId = bsread.uint16(bs) + data.libraryName = bsread.string8(bs) + data.textureName = bsread.string8(bs) + data.color = bsread.int32(bs) + data.type = MATERIAL_TYPE.TEXTURE + return data +end + +local function write_object_material(bs, data) + bswrite.uint8(bs, data.type) + bswrite.uint8(bs, data.materialId) + bswrite.uint16(bs, data.modelId) + bswrite.string8(bs, data.libraryName) + bswrite.string8(bs, data.textureName) + bswrite.int32(bs, data.color) +end + +local function read_object_material_text(bs) + local data = {} + data.materialId = bsread.uint8(bs) + data.materialSize = bsread.uint8(bs) + data.fontName = bsread.string8(bs) + data.fontSize = bsread.uint8(bs) + data.bold = bsread.uint8(bs) + data.fontColor = bsread.int32(bs) + data.backGroundColor = bsread.int32(bs) + data.align = bsread.uint8(bs) + data.text = bsread.encodedString2048(bs) + data.type = MATERIAL_TYPE.TEXT + return data +end + +local function write_object_material_text(bs, data) + bswrite.uint8(bs, data.type) + bswrite.uint8(bs, data.materialId) + bswrite.uint8(bs, data.materialSize) + bswrite.string8(bs, data.fontName) + bswrite.uint8(bs, data.fontSize) + bswrite.uint8(bs, data.bold) + bswrite.int32(bs, data.fontColor) + bswrite.int32(bs, data.backGroundColor) + bswrite.uint8(bs, data.align) + bswrite.encodedString2048(bs, data.text) +end + +--- onSetObjectMaterial +function handler.rpc_set_object_material_reader(bs) + local objectId = bsread.uint16(bs) + local materialType = bsread.uint8(bs) + local material + if materialType == MATERIAL_TYPE.TEXTURE then + material = read_object_material(bs) + elseif materialType == MATERIAL_TYPE.TEXT then + material = read_object_material_text(bs) + end + local ev = materialType == MATERIAL_TYPE.TEXTURE and 'onSetObjectMaterial' or 'onSetObjectMaterialText' + return ev, {objectId, material} +end + +function handler.rpc_set_object_material_writer(bs, data) + local objectId = data[1] + local mat = data[2] + bswrite.uint16(bs, objectId) + if mat.type == MATERIAL_TYPE.TEXTURE then + write_object_material(bs, mat) + elseif mat.type == MATERIAL_TYPE.TEXT then + write_object_material_text(bs, mat) + end +end + +--- onCreateObject +function handler.rpc_create_object_reader(bs) + local data = {materials = {}, materialText = {}} + local objectId = bsread.uint16(bs) + data.modelId = bsread.int32(bs) + data.position = bsread.vector3d(bs) + data.rotation = bsread.vector3d(bs) + data.drawDistance = bsread.float(bs) + data.noCameraCol = bsread.bool8(bs) + data.attachToVehicleId = bsread.uint16(bs) + data.attachToObjectId = bsread.uint16(bs) + if data.attachToVehicleId ~= 0xFFFF or data.attachToObjectId ~= 0xFFFF then + data.attachOffsets = bsread.vector3d(bs) + data.attachRotation = bsread.vector3d(bs) + data.syncRotation = bsread.bool8(bs) + end + data.texturesCount = bsread.uint8(bs) + while raknetBitStreamGetNumberOfUnreadBits(bs) >= 8 do + local materialType = bsread.uint8(bs) + if materialType == MATERIAL_TYPE.TEXTURE then + table.insert(data.materials, read_object_material(bs)) + elseif materialType == MATERIAL_TYPE.TEXT then + table.insert(data.materialText, read_object_material_text(bs)) + end + end + data.materials_text = data.materialText -- obsolete + return {objectId, data} +end + +function handler.rpc_create_object_writer(bs, data) + local objectId = data[1] + local data = data[2] + bswrite.uint16(bs, objectId) + bswrite.int32(bs, data.modelId) + bswrite.vector3d(bs, data.position) + bswrite.vector3d(bs, data.rotation) + bswrite.float(bs, data.drawDistance) + bswrite.bool8(bs, data.noCameraCol) + bswrite.uint16(bs, data.attachToVehicleId) + bswrite.uint16(bs, data.attachToObjectId) + if data.attachToVehicleId ~= 0xFFFF or data.attachToObjectId ~= 0xFFFF then + bswrite.vector3d(bs, data.attachOffsets) + bswrite.vector3d(bs, data.attachRotation) + bswrite.bool8(bs, data.syncRotation) + end + bswrite.uint8(bs, data.texturesCount) + for _, it in ipairs(data.materials) do + write_object_material(bs, it) + end + for _, it in ipairs(data.materialText) do + write_object_material_text(bs, it) + end +end + +function handler.rpc_update_scores_and_pings_reader(bs) + local data = {} + for i = 1, raknetBitStreamGetNumberOfBytesUsed(bs) / 10 do + local playerId = bsread.uint16(bs) + local playerScore = bsread.int32(bs) + local playerPing = bsread.int32(bs) + data[playerId] = {score = playerScore, ping = playerPing} + end + return {data} +end + +function handler.rpc_update_scores_and_pings_writer(bs, data) + for id, info in pairs(data[1]) do + bswrite.uint16(bs, id) + bswrite.int32(bs, info.score) + bswrite.int32(bs, info.ping) + end +end + +function handler.packet_weapons_update_reader(bs) + local playerTarget = bsread.uint16(bs) + local actorTarget = bsread.uint16(bs) + local weapons = {} + local count = raknetBitStreamGetNumberOfUnreadBits(bs) / 32 + for i = 1, count do + local slot = bsread.uint8(bs) + local weapon = bsread.uint8(bs) + local ammo = bsread.uint16(bs) + weapons[i] = {slot = slot, weapon = weapon, ammo = ammo} + end + return {playerTarget, actorTarget, weapons} +end + +function handler.packet_weapons_update_writer(bs, data) + bswrite.uint16(bs, data[1]) + bswrite.uint16(bs, data[2]) + for i, weap in ipairs(data[3]) do + bswrite.uint8(bs, weap.slot) + bswrite.uint8(bs, weap.weapon) + bswrite.uint16(bs, weap.ammo) + end +end + +return handler diff --git a/samp/events/utils.lua b/samp/events/utils.lua new file mode 100644 index 0000000..81960a4 --- /dev/null +++ b/samp/events/utils.lua @@ -0,0 +1,45 @@ +-- This file is part of the SAMP.Lua project. +-- Licensed under the MIT License. +-- Copyright (c) 2016, FYP @ BlastHack Team +-- https://github.com/THE-FYP/SAMP.Lua + +local ffi = require 'ffi' +local utils = {} + +function utils.decompress_health_and_armor(hpAp) + local hp = math.min(bit.rshift(hpAp, 4) * 7, 100) + local armor = math.min(bit.band(hpAp, 0x0F) * 7, 100) + return hp, armor +end + +function utils.compress_health_and_armor(health, armor) + local hp = health >= 100 and 0xF0 or bit.lshift(health / 7, 4) + local ap = armor >= 100 and 0x0F or bit.band(armor / 7, 0x0F) + return bit.bor(hp, ap) +end + +function utils.create_sync_data(st) + require 'samp.synchronization' + return ffi.new(st) +end + +function utils.read_sync_data(bs, st) + local dataStruct = utils.create_sync_data(st) + local ptr = tonumber(ffi.cast('intptr_t', ffi.cast('void*', dataStruct))) + raknetBitStreamReadBuffer(bs, ptr, ffi.sizeof(dataStruct)) + return dataStruct +end + +function utils.write_sync_data(bs, st, ffiobj) + require 'samp.synchronization' + local ptr = tonumber(ffi.cast('intptr_t', ffi.cast('void*', ffiobj))) + raknetBitStreamWriteBuffer(bs, ptr, ffi.sizeof(st)) +end + +function utils.process_outcoming_sync_data(bs, st) + local data = raknetBitStreamGetDataPtr(bs) + 1 + require 'samp.synchronization' + return {ffi.cast(st .. '*', data)} +end + +return utils diff --git a/samp/raknet.lua b/samp/raknet.lua new file mode 100644 index 0000000..8e004dc --- /dev/null +++ b/samp/raknet.lua @@ -0,0 +1,236 @@ +-- This file is part of the SAMP.Lua project. +-- Licensed under the MIT License. +-- Copyright (c) 2016, FYP @ BlastHack Team +-- https://github.com/THE-FYP/SAMP.Lua + +local mod = +{ + MODULEINFO = { + name = 'samp.raknet', + version = 2 + } +} +require 'sampfuncs' + +mod.RPC = { + CLICKPLAYER = RPC_CLICKPLAYER, + CLIENTJOIN = RPC_CLIENTJOIN, + ENTERVEHICLE = RPC_ENTERVEHICLE, + SCRIPTCASH = RPC_SCRIPTCASH, + SERVERCOMMAND = RPC_SERVERCOMMAND, + SPAWN = RPC_SPAWN, + DEATH = RPC_DEATH, + NPCJOIN = RPC_NPCJOIN, + DIALOGRESPONSE = RPC_DIALOGRESPONSE, + CLICKTEXTDRAW = RPC_CLICKTEXTDRAW, + SCMEVENT = RPC_SCMEVENT, + WEAPONPICKUPDESTROY = RPC_WEAPONPICKUPDESTROY, + CHAT = RPC_CHAT, + SRVNETSTATS = RPC_SRVNETSTATS, + CLIENTCHECK = RPC_CLIENTCHECK, + DAMAGEVEHICLE = RPC_DAMAGEVEHICLE, + GIVETAKEDAMAGE = RPC_GIVETAKEDAMAGE, + EDITATTACHEDOBJECT = RPC_EDITATTACHEDOBJECT, + EDITOBJECT = RPC_EDITOBJECT, + SETINTERIORID = RPC_SETINTERIORID, + MAPMARKER = RPC_MAPMARKER, + REQUESTCLASS = RPC_REQUESTCLASS, + REQUESTSPAWN = RPC_REQUESTSPAWN, + PICKEDUPPICKUP = RPC_PICKEDUPPICKUP, + MENUSELECT = RPC_MENUSELECT, + VEHICLEDESTROYED = RPC_VEHICLEDESTROYED, + MENUQUIT = RPC_MENUQUIT, + EXITVEHICLE = RPC_EXITVEHICLE, + UPDATESCORESPINGSIPS = RPC_UPDATESCORESPINGSIPS, + CAMTARGETUPDATE = 168, + GIVEACTORDAMAGE = 177, + + CONNECTIONREJECTED = 130, + SETPLAYERNAME = RPC_SCRSETPLAYERNAME, + SETPLAYERPOS = RPC_SCRSETPLAYERPOS, + SETPLAYERPOSFINDZ = RPC_SCRSETPLAYERPOSFINDZ, + SETPLAYERHEALTH = RPC_SCRSETPLAYERHEALTH, + TOGGLEPLAYERCONTROLLABLE = RPC_SCRTOGGLEPLAYERCONTROLLABLE, + PLAYSOUND = RPC_SCRPLAYSOUND, + SETPLAYERWORLDBOUNDS = RPC_SCRSETPLAYERWORLDBOUNDS, + GIVEPLAYERMONEY = RPC_SCRGIVEPLAYERMONEY, + SETPLAYERFACINGANGLE = RPC_SCRSETPLAYERFACINGANGLE, + RESETPLAYERMONEY = RPC_SCRRESETPLAYERMONEY, + RESETPLAYERWEAPONS = RPC_SCRRESETPLAYERWEAPONS, + GIVEPLAYERWEAPON = RPC_SCRGIVEPLAYERWEAPON, + SETVEHICLEPARAMSEX = RPC_SCRSETVEHICLEPARAMSEX, + CANCELEDIT = RPC_SCRCANCELEDIT, + SETPLAYERTIME = RPC_SCRSETPLAYERTIME, + TOGGLECLOCK = RPC_SCRTOGGLECLOCK, + WORLDPLAYERADD = RPC_SCRWORLDPLAYERADD, + SETPLAYERSHOPNAME = RPC_SCRSETPLAYERSHOPNAME, + SETPLAYERSKILLLEVEL = RPC_SCRSETPLAYERSKILLLEVEL, + SETPLAYERDRUNKLEVEL = RPC_SCRSETPLAYERDRUNKLEVEL, + CREATE3DTEXTLABEL = RPC_SCRCREATE3DTEXTLABEL, + DISABLECHECKPOINT = RPC_SCRDISABLECHECKPOINT, + SETRACECHECKPOINT = RPC_SCRSETRACECHECKPOINT, + DISABLERACECHECKPOINT = RPC_SCRDISABLERACECHECKPOINT, + GAMEMODERESTART = RPC_SCRGAMEMODERESTART, + PLAYAUDIOSTREAM = RPC_SCRPLAYAUDIOSTREAM, + STOPAUDIOSTREAM = RPC_SCRSTOPAUDIOSTREAM, + REMOVEBUILDINGFORPLAYER = RPC_SCRREMOVEBUILDINGFORPLAYER, + CREATEOBJECT = RPC_SCRCREATEOBJECT, + SETOBJECTPOS = RPC_SCRSETOBJECTPOS, + SETOBJECTROT = RPC_SCRSETOBJECTROT, + DESTROYOBJECT = RPC_SCRDESTROYOBJECT, + DEATHMESSAGE = RPC_SCRDEATHMESSAGE, + SETPLAYERMAPICON = RPC_SCRSETPLAYERMAPICON, + REMOVEVEHICLECOMPONENT = RPC_SCRREMOVEVEHICLECOMPONENT, + CHATBUBBLE = RPC_SCRCHATBUBBLE, + UPDATETIME = RPC_SCRSOMEUPDATE, + SHOWDIALOG = RPC_SCRSHOWDIALOG, + DESTROYPICKUP = RPC_SCRDESTROYPICKUP, + LINKVEHICLETOINTERIOR = RPC_SCRLINKVEHICLETOINTERIOR, + SETPLAYERARMOUR = RPC_SCRSETPLAYERARMOUR, + SETPLAYERARMEDWEAPON = RPC_SCRSETPLAYERARMEDWEAPON, + SETSPAWNINFO = RPC_SCRSETSPAWNINFO, + SETPLAYERTEAM = RPC_SCRSETPLAYERTEAM, + PUTPLAYERINVEHICLE = RPC_SCRPUTPLAYERINVEHICLE, + REMOVEPLAYERFROMVEHICLE = RPC_SCRREMOVEPLAYERFROMVEHICLE, + SETPLAYERCOLOR = RPC_SCRSETPLAYERCOLOR, + DISPLAYGAMETEXT = RPC_SCRDISPLAYGAMETEXT, + FORCECLASSSELECTION = RPC_SCRFORCECLASSSELECTION, + ATTACHOBJECTTOPLAYER = RPC_SCRATTACHOBJECTTOPLAYER, + INITMENU = RPC_SCRINITMENU, + SHOWMENU = RPC_SCRSHOWMENU, + HIDEMENU = RPC_SCRHIDEMENU, + CREATEEXPLOSION = RPC_SCRCREATEEXPLOSION, + SHOWPLAYERNAMETAGFORPLAYER = RPC_SCRSHOWPLAYERNAMETAGFORPLAYER, + ATTACHCAMERATOOBJECT = RPC_SCRATTACHCAMERATOOBJECT, + INTERPOLATECAMERA = RPC_SCRINTERPOLATECAMERA, + SETOBJECTMATERIAL = RPC_SCRSETOBJECTMATERIAL, + GANGZONESTOPFLASH = RPC_SCRGANGZONESTOPFLASH, + APPLYANIMATION = RPC_SCRAPPLYANIMATION, + CLEARANIMATIONS = RPC_SCRCLEARANIMATIONS, + SETPLAYERSPECIALACTION = RPC_SCRSETPLAYERSPECIALACTION, + SETPLAYERFIGHTINGSTYLE = RPC_SCRSETPLAYERFIGHTINGSTYLE, + SETPLAYERVELOCITY = RPC_SCRSETPLAYERVELOCITY, + SETVEHICLEVELOCITY = RPC_SCRSETVEHICLEVELOCITY, + CLIENTMESSAGE = RPC_SCRCLIENTMESSAGE, + SETWORLDTIME = RPC_SCRSETWORLDTIME, + CREATEPICKUP = RPC_SCRCREATEPICKUP, + MOVEOBJECT = RPC_SCRMOVEOBJECT, + ENABLESTUNTBONUSFORPLAYER = RPC_SCRENABLESTUNTBONUSFORPLAYER, + TEXTDRAWSETSTRING = RPC_SCRTEXTDRAWSETSTRING, + SETCHECKPOINT = RPC_SCRSETCHECKPOINT, + GANGZONECREATE = RPC_SCRGANGZONECREATE, + PLAYCRIMEREPORT = RPC_SCRPLAYCRIMEREPORT, + SETPLAYERATTACHEDOBJECT = RPC_SCRSETPLAYERATTACHEDOBJECT, + GANGZONEDESTROY = RPC_SCRGANGZONEDESTROY, + GANGZONEFLASH = RPC_SCRGANGZONEFLASH, + STOPOBJECT = RPC_SCRSTOPOBJECT, + SETNUMBERPLATE = RPC_SCRSETNUMBERPLATE, + TOGGLEPLAYERSPECTATING = RPC_SCRTOGGLEPLAYERSPECTATING, + PLAYERSPECTATEPLAYER = RPC_SCRPLAYERSPECTATEPLAYER, + PLAYERSPECTATEVEHICLE = RPC_SCRPLAYERSPECTATEVEHICLE, + SETPLAYERWANTEDLEVEL = RPC_SCRSETPLAYERWANTEDLEVEL, + SHOWTEXTDRAW = RPC_SCRSHOWTEXTDRAW, + TEXTDRAWHIDEFORPLAYER = RPC_SCRTEXTDRAWHIDEFORPLAYER, + SERVERJOIN = RPC_SCRSERVERJOIN, + SERVERQUIT = RPC_SCRSERVERQUIT, + INITGAME = RPC_SCRINITGAME, + REMOVEPLAYERMAPICON = RPC_SCRREMOVEPLAYERMAPICON, + SETPLAYERAMMO = RPC_SCRSETPLAYERAMMO, + SETGRAVITY = RPC_SCRSETGRAVITY, + SETVEHICLEHEALTH = RPC_SCRSETVEHICLEHEALTH, + ATTACHTRAILERTOVEHICLE = RPC_SCRATTACHTRAILERTOVEHICLE, + DETACHTRAILERFROMVEHICLE = RPC_SCRDETACHTRAILERFROMVEHICLE, + SETWEATHER = RPC_SCRSETWEATHER, + SETPLAYERSKIN = RPC_SCRSETPLAYERSKIN, + SETPLAYERINTERIOR = RPC_SCRSETPLAYERINTERIOR, + SETPLAYERCAMERAPOS = RPC_SCRSETPLAYERCAMERAPOS, + SETPLAYERCAMERALOOKAT = RPC_SCRSETPLAYERCAMERALOOKAT, + SETVEHICLEPOS = RPC_SCRSETVEHICLEPOS, + SETVEHICLEZANGLE = RPC_SCRSETVEHICLEZANGLE, + SETVEHICLEPARAMSFORPLAYER = RPC_SCRSETVEHICLEPARAMSFORPLAYER, + SETCAMERABEHINDPLAYER = RPC_SCRSETCAMERABEHINDPLAYER, + WORLDPLAYERREMOVE = RPC_SCRWORLDPLAYERREMOVE, + WORLDVEHICLEADD = RPC_SCRWORLDVEHICLEADD, + WORLDVEHICLEREMOVE = RPC_SCRWORLDVEHICLEREMOVE, + WORLDPLAYERDEATH = RPC_SCRWORLDPLAYERDEATH, + CREATEACTOR = 171, + DESTROYACTOR = 172, + DESTROY3DTEXTLABEL = 58, + DESTROYWEAPONPICKUP = 151, + TOGGLECAMERATARGET = 170, + SELECTOBJECT = 27, + DISABLEVEHICLECOLLISIONS = 167, + TOGGLEWIDESCREEN = 111, + SETVEHICLETIRES = 98, + SETPLAYERDRUNKVISUALS = 92, + SETPLAYERDRUNKHANDLING = 150, + APPLYACTORANIMATION = 173, + CLEARACTORANIMATION = 174, + SETACTORROTATION = 175, + SETACTORPOSITION = 176, + SETACTORHEALTH = 178, + SETPLAYEROBJECTNOCAMCOL = 169, + + -- Invalid. Retained only for backward compatibility. + ENTEREDITOBJECT = RPC_ENTEREDITOBJECT, + UPDATE3DTEXTLABEL = RPC_SCRUPDATE3DTEXTLABEL, +} + +mod.PACKET = { + VEHICLE_SYNC = PACKET_VEHICLE_SYNC, + RCON_COMMAND = PACKET_RCON_COMMAND, + RCON_RESPONCE = PACKET_RCON_RESPONCE, + AIM_SYNC = PACKET_AIM_SYNC, + WEAPONS_UPDATE = PACKET_WEAPONS_UPDATE, + STATS_UPDATE = PACKET_STATS_UPDATE, + BULLET_SYNC = PACKET_BULLET_SYNC, + PLAYER_SYNC = PACKET_PLAYER_SYNC, + MARKERS_SYNC = PACKET_MARKERS_SYNC, + UNOCCUPIED_SYNC = PACKET_UNOCCUPIED_SYNC, + TRAILER_SYNC = PACKET_TRAILER_SYNC, + PASSENGER_SYNC = PACKET_PASSENGER_SYNC, + SPECTATOR_SYNC = PACKET_SPECTATOR_SYNC, + + INTERNAL_PING = PACKET_INTERNAL_PING, + PING = PACKET_PING, + PING_OPEN_CONNECTIONS = PACKET_PING_OPEN_CONNECTIONS, + CONNECTED_PONG = PACKET_CONNECTED_PONG, + REQUEST_STATIC_DATA = PACKET_REQUEST_STATIC_DATA, + CONNECTION_REQUEST = PACKET_CONNECTION_REQUEST, + AUTHENTICATION = PACKET_AUTH_KEY, + BROADCAST_PINGS = PACKET_BROADCAST_PINGS, + SECURED_CONNECTION_RESPONSE = PACKET_SECURED_CONNECTION_RESPONSE, + SECURED_CONNECTION_CONFIRMATION = PACKET_SECURED_CONNECTION_CONFIRMATION, + RPC_MAPPING = PACKET_RPC_MAPPING, + SET_RANDOM_NUMBER_SEED = PACKET_SET_RANDOM_NUMBER_SEED, + RPC = PACKET_RPC, + RPC_REPLY = PACKET_RPC_REPLY, + DETECT_LOST_CONNECTIONS = PACKET_DETECT_LOST_CONNECTIONS, + OPEN_CONNECTION_REQUEST = PACKET_OPEN_CONNECTION_REQUEST, + OPEN_CONNECTION_REPLY = PACKET_OPEN_CONNECTION_REPLY, + CONNECTION_COOKIE = PACKET_CONNECTION_COOKIE, + RSA_PUBLIC_KEY_MISMATCH = PACKET_RSA_PUBLIC_KEY_MISMATCH, + CONNECTION_ATTEMPT_FAILED = PACKET_CONNECTION_ATTEMPT_FAILED, + NEW_INCOMING_CONNECTION = PACKET_NEW_INCOMING_CONNECTION, + NO_FREE_INCOMING_CONNECTIONS = PACKET_NO_FREE_INCOMING_CONNECTIONS, + DISCONNECTION_NOTIFICATION = PACKET_DISCONNECTION_NOTIFICATION, + CONNECTION_LOST = PACKET_CONNECTION_LOST, + CONNECTION_REQUEST_ACCEPTED = PACKET_CONNECTION_REQUEST_ACCEPTED, + INITIALIZE_ENCRYPTION = PACKET_INITIALIZE_ENCRYPTION, + CONNECTION_BANNED = PACKET_CONNECTION_BANNED, + INVALID_PASSWORD = PACKET_INVALID_PASSWORD, + MODIFIED_PACKET = PACKET_MODIFIED_PACKET, + PONG = PACKET_PONG, + TIMESTAMP = PACKET_TIMESTAMP, + RECEIVED_STATIC_DATA = PACKET_RECEIVED_STATIC_DATA, + REMOTE_DISCONNECTION_NOTIFICATION = PACKET_REMOTE_DISCONNECTION_NOTIFICATION, + REMOTE_CONNECTION_LOST = PACKET_REMOTE_CONNECTION_LOST, + REMOTE_NEW_INCOMING_CONNECTION = PACKET_REMOTE_NEW_INCOMING_CONNECTION, + REMOTE_EXISTING_CONNECTION = PACKET_REMOTE_EXISTING_CONNECTION, + REMOTE_STATIC_DATA = PACKET_REMOTE_STATIC_DATA, + ADVERTISE_SYSTEM = PACKET_ADVERTISE_SYSTEM, + + AUTH_KEY = PACKET_AUTH_KEY, +} + +return mod diff --git a/samp/synchronization.lua b/samp/synchronization.lua new file mode 100644 index 0000000..65c15dc --- /dev/null +++ b/samp/synchronization.lua @@ -0,0 +1,199 @@ +-- This file is part of the SAMP.Lua project. +-- Licensed under the MIT License. +-- Copyright (c) 2016, FYP @ BlastHack Team +-- https://github.com/THE-FYP/SAMP.Lua + +local mod = +{ + MODULEINFO = { + name = 'samp.synchronization', + version = 2 + } +} +local ffi = require 'ffi' + +ffi.cdef[[ +#pragma pack(push, 1) + +typedef struct VectorXYZ { + float x, y, z; +} VectorXYZ; + +typedef struct SampKeys { + uint8_t primaryFire : 1; + uint8_t horn_crouch : 1; + uint8_t secondaryFire_shoot : 1; + uint8_t accel_zoomOut : 1; + uint8_t enterExitCar : 1; + uint8_t decel_jump : 1; + uint8_t circleRight : 1; + uint8_t aim : 1; + uint8_t circleLeft : 1; + uint8_t landingGear_lookback : 1; + uint8_t unknown_walkSlow : 1; + uint8_t specialCtrlUp : 1; + uint8_t specialCtrlDown : 1; + uint8_t specialCtrlLeft : 1; + uint8_t specialCtrlRight : 1; + uint8_t _unknown : 1; +} SampKeys; + +typedef struct PlayerSyncData { + uint16_t leftRightKeys; + uint16_t upDownKeys; + union { + uint16_t keysData; + SampKeys keys; + }; + VectorXYZ position; + float quaternion[4]; + uint8_t health; + uint8_t armor; + uint8_t weapon : 6; + uint8_t specialKey : 2; + uint8_t specialAction; + VectorXYZ moveSpeed; + VectorXYZ surfingOffsets; + uint16_t surfingVehicleId; + union { + struct { + uint16_t id; + uint8_t frameDelta; + union { + struct { + bool loop : 1; + bool lockX : 1; + bool lockY : 1; + bool freeze : 1; + uint8_t time : 2; + uint8_t _unused : 1; + bool regular : 1; + }; + uint8_t value; + } flags; + } animation; + struct { + uint16_t animationId; + uint16_t animationFlags; + }; + }; +} PlayerSyncData; + +typedef struct VehicleSyncData { + uint16_t vehicleId; + uint16_t leftRightKeys; + uint16_t upDownKeys; + union { + uint16_t keysData; + SampKeys keys; + }; + float quaternion[4]; + VectorXYZ position; + VectorXYZ moveSpeed; + float vehicleHealth; + uint8_t playerHealth; + uint8_t armor; + uint8_t currentWeapon : 6; + uint8_t specialKey : 2; + uint8_t siren; + uint8_t landingGearState; + uint16_t trailerId; + union { + float bikeLean; + float trainSpeed; + uint16_t hydraThrustAngle[2]; + }; +} VehicleSyncData; + +typedef struct PassengerSyncData { + uint16_t vehicleId; + uint8_t seatId : 6; + bool driveBy : 1; + bool cuffed : 1; + uint8_t currentWeapon : 6; + uint8_t specialKey : 2; + uint8_t health; + uint8_t armor; + uint16_t leftRightKeys; + uint16_t upDownKeys; + union { + uint16_t keysData; + SampKeys keys; + }; + VectorXYZ position; +} PassengerSyncData; + +typedef struct UnoccupiedSyncData { + uint16_t vehicleId; + uint8_t seatId; + VectorXYZ roll; + VectorXYZ direction; + VectorXYZ position; + VectorXYZ moveSpeed; + VectorXYZ turnSpeed; + float vehicleHealth; +} UnoccupiedSyncData; + +typedef struct TrailerSyncData { + uint16_t trailerId; + VectorXYZ position; + union { + struct { + float quaternion[4]; + VectorXYZ moveSpeed; + VectorXYZ turnSpeed; + }; + /* Invalid. Retained for backwards compatibility. */ + struct { + VectorXYZ roll; + VectorXYZ direction; + VectorXYZ speed; + uint32_t unk; + }; + }; +} TrailerSyncData; + +typedef struct SpectatorSyncData { + uint16_t leftRightKeys; + uint16_t upDownKeys; + union { + uint16_t keysData; + SampKeys keys; + }; + VectorXYZ position; +} SpectatorSyncData; + +typedef struct BulletSyncData { + uint8_t targetType; + uint16_t targetId; + VectorXYZ origin; + VectorXYZ target; + VectorXYZ center; + uint8_t weaponId; +} BulletSyncData; + +typedef struct AimSyncData { + uint8_t camMode; + VectorXYZ camFront; + VectorXYZ camPos; + float aimZ; + uint8_t camExtZoom : 6; + uint8_t weaponState : 2; + uint8_t aspectRatio; +} AimSyncData; + +#pragma pack(pop) +]] + +assert(ffi.sizeof('VectorXYZ') == 12) +assert(ffi.sizeof('SampKeys') == 2) +assert(ffi.sizeof('PlayerSyncData') == 68) +assert(ffi.sizeof('VehicleSyncData') == 63) +assert(ffi.sizeof('PassengerSyncData') == 24) +assert(ffi.sizeof('UnoccupiedSyncData') == 67) +assert(ffi.sizeof('TrailerSyncData') == 54) +assert(ffi.sizeof('SpectatorSyncData') == 18) +assert(ffi.sizeof('BulletSyncData') == 40) +assert(ffi.sizeof('AimSyncData') == 31) + +return mod diff --git a/socket.lua b/socket.lua new file mode 100644 index 0000000..3913e6f --- /dev/null +++ b/socket.lua @@ -0,0 +1,149 @@ +----------------------------------------------------------------------------- +-- LuaSocket helper module +-- Author: Diego Nehab +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +----------------------------------------------------------------------------- +local base = _G +local string = require("string") +local math = require("math") +local socket = require("socket.core") + +local _M = socket + +----------------------------------------------------------------------------- +-- Exported auxiliar functions +----------------------------------------------------------------------------- +function _M.connect4(address, port, laddress, lport) + return socket.connect(address, port, laddress, lport, "inet") +end + +function _M.connect6(address, port, laddress, lport) + return socket.connect(address, port, laddress, lport, "inet6") +end + +function _M.bind(host, port, backlog) + if host == "*" then host = "0.0.0.0" end + local addrinfo, err = socket.dns.getaddrinfo(host); + if not addrinfo then return nil, err end + local sock, res + err = "no info on address" + for i, alt in base.ipairs(addrinfo) do + if alt.family == "inet" then + sock, err = socket.tcp() + else + sock, err = socket.tcp6() + end + if not sock then return nil, err end + sock:setoption("reuseaddr", true) + res, err = sock:bind(alt.addr, port) + if not res then + sock:close() + else + res, err = sock:listen(backlog) + if not res then + sock:close() + else + return sock + end + end + end + return nil, err +end + +_M.try = _M.newtry() + +function _M.choose(table) + return function(name, opt1, opt2) + if base.type(name) ~= "string" then + name, opt1, opt2 = "default", name, opt1 + end + local f = table[name or "nil"] + if not f then base.error("unknown key (".. base.tostring(name) ..")", 3) + else return f(opt1, opt2) end + end +end + +----------------------------------------------------------------------------- +-- Socket sources and sinks, conforming to LTN12 +----------------------------------------------------------------------------- +-- create namespaces inside LuaSocket namespace +local sourcet, sinkt = {}, {} +_M.sourcet = sourcet +_M.sinkt = sinkt + +_M.BLOCKSIZE = 2048 + +sinkt["close-when-done"] = function(sock) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function(self, chunk, err) + if not chunk then + sock:close() + return 1 + else return sock:send(chunk) end + end + }) +end + +sinkt["keep-open"] = function(sock) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function(self, chunk, err) + if chunk then return sock:send(chunk) + else return 1 end + end + }) +end + +sinkt["default"] = sinkt["keep-open"] + +_M.sink = _M.choose(sinkt) + +sourcet["by-length"] = function(sock, length) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function() + if length <= 0 then return nil end + local size = math.min(socket.BLOCKSIZE, length) + local chunk, err = sock:receive(size) + if err then return nil, err end + length = length - string.len(chunk) + return chunk + end + }) +end + +sourcet["until-closed"] = function(sock) + local done + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function() + if done then return nil end + local chunk, err, partial = sock:receive(socket.BLOCKSIZE) + if not err then return chunk + elseif err == "closed" then + sock:close() + done = 1 + return partial + else return nil, err end + end + }) +end + + +sourcet["default"] = sourcet["until-closed"] + +_M.source = _M.choose(sourcet) + +return _M diff --git a/socket/core.dll b/socket/core.dll new file mode 100644 index 0000000000000000000000000000000000000000..67cd119c52e5e7436f3589568ec18c641b879304 GIT binary patch literal 39936 zcmeIbePEQuwLktO*}w`5yXsP-Mp<>iC;|5^VK=)80TNy+$cB(zP#^@daT7z5CcC^? zki<<|;*v@gl~(G-N?Y6NmA14-g%FKOQYTXSE9Cgwqd^pp9{coYY1aiW zT-BK}=Y^{l_^X=?4UP4;Hdd@Otf;7~s}C5K`wWf2Izx4xp=e&IVP$=#Z_=nyBaBMZ zCue-Q?eS~xdnp!nln;C97syBFZF%ttPVay5*PL#C@t2(b_{Co#-8+2?!}kF1-;sa( z+AS}=iFD7rAHVo8r}w@17^e?#I=^~_pZbW6$XzT+b5c~&rIQD4iNTIbsaK6m8LgG- z0I|r>jwYl!gl5j`_&HUQ(xnsz#8N4OEHM#(sZt>dQHkosQ>B@ECCLqFFVbC9{7rv5 zCF$63NiuAfq|9%^0lX09g~{d3l5|)mEg2ero)qw{2_Uz#7Lg8t#;VYbC;l@?(y~d7 zl@);sN&131Z$`Khp%EeJuMk~NlF=mBNEB>Gpte9$@?W7OMJ6@+YU@|XW0H2FRE@AD z8H>j;Z7Ae_bN{b7;H^oC28d}&aJ3r3BV@--je3#O%JYp6V zJ<3I9dfdg2t(H$M5YL;~2BBKg`Ds5fQ$J%!f>=9#6X%}k# zyez~;1djk7Vfdm^SpcJ4#pS28OVjN#py!l!@u*q+e4)k&ChEnVi(pBq=TNsk(KqoA z-7&{?q5(Lkw7PURYHGa)-dJo@pVF4kF{(q|==p{{tB_qZ%EayJ(hE6VvgedGI|Ayn zK)p2r%%QCxJXjX)51kkc_3J(1pc>7hhhb<9G+tO_RBL~54~RnkCiSY3Z=^3oqf5i@ zEa@VQRkwElBf%LBYHPibQ`+l$&Snf?{{^P#W?%#{&MXGy3ul0T<>?tb6e8yh1nwVH z&Y(fdWa?I35HAsAosZQTQBz0Nb)&&35 zi?i(KhRzZZ^^Z|t;2@CX&*QkTFeb?V33||n<{R{LmhLQq&>x6k zP4Hk6>o|X*%2<=?5r;jPtCD{ZQ>iA+1HK!@9{~z=8??_#A+bC#F(h<>OF|+waFPFv zj3qi4L(?}FROoqp7%#@xH+l$wRo?(jh;`@@bLE=yjE#|r{xe`uYS=i5D;WivAD15* zRTJUr_8Bytb^B-VYPo+#2J}X1pP}DBgH{@8{|pT!Li2Sr`o@(BgAkr$RE4KzIHzV_ z9w|ht+?F@IjyVyYsTm^o_}mABJmP0%uzNExT~*(Lv<67xfv=*`W7h)ljZD<@0R-#X zNp4qpf)ZIjTl!7#E*{?U2{05z)yb$HH+-2fADhL>hkX_($i}A?Tq?U;< z&`PM=))vvW4Zv`@{Q+tS1zlXAYqnpnZQFyAy9!fWwc0i<9>X&;I_eE!Zzh;%(vEE= z28UPctVf-D8%^jOT^QWq8EU^|0Kw7RXfGkcB!-W)&&v$IyniMOiGbF~gx-$qto8*) z!?V;(V7AiUU8+g05rN6BQGrPvyO{~jml`wBvdJwfK^n@zS85`Rx*JpIX=*#78O~FU zdr6K&-%L%oKEoL>8XC=M``Tw}I#iR|XJ&xRi>#6TGi8mDiLoBSklK!FTdmP(^yKpx zWuaW7IE7Nw(cZZW(4n$Bl8?(>`>I=2C7JT9dL`leQ0S6Dj-7L;h*B z(snekG4$ov+P0CP${KP0`SPQow^Ku1U!VK}*2|h0FtD?;=Ee6uVj}* z1j-?ssPF)cEL-j-UA%#x%MD=K8L{@Ooden*{EWswFLS~Gm|*>&Jz&fXdx-&i5)5E% z=$L76M=jxL>a%#DFrWtv=)p+R_D=ZJ`J#5(M=~qiVl}!%({V=3V@B*b4HM%sP2vnfoZ(udqB*%txeAP$7@nysjhe!RnrJU($1h62i?7SXTS&{qN0d8LCSFAv z>NfUi%fy>paD)MB@$BblHek#G&-CJ9WUx}{OEAmJ#0Ey3hd8{+I0rK})UBIPWXvvK zy5tt?LE#4lE!{NNBhMK(>@%LTz-~#n zfkH-{&1tt9*x4|-u;FPQp;O9esfSGkp?0_s9217hBR+J4#9|Ff3Q-a;7DgNNB8ahI zDrJ*AFxT3Su1%Ys_FCKNwP`cbK4J^)JffX*#QBkS-bcTXT+YIiJ}|2-5}XPy83_KAWI%WOChT|a(az{$3sFLIwnH^`cG@1+301T=ZJlf< zlqQ^CH$H#4t*~_J{_gq3&#DAuSDKyu@%# zsaI5RkvcS(60mq`QoO9>2O((s@M*Wl-xcbE!ewQaok@1a6ey z5+@ilGqyNmUQlm^Ww0x=Sje+V%e%>5Emu*54y5PXKZV->uwObq=1HTUU_XcprxM{>y0)T~ORSE8Bf!GyL& zI%Y++vwKPa#cqu&$Q!j#zcC?S1C1`5lx`8DfXmv}`(biRrMY~mq%!~z9HQc!wi6pXfn+I3OwJ9Llu05Qr&h#zxhW3qI4A1-`C^mO{O_{tT85b+kbhI*?Kl9diad)zE<`%Sk(H zPjcVX0L&r{cE8Gqkuxh)Sl85aisU9q`G@PkZaSHanxbPCqOrEf+H25}MwEgY|3*w* z?zV3>w%kx$5J-lzD{3=}yK%@zL(z*Ds1)8%tdwb|sAgo%b-wKy#95tWhPE z-+=bdF26jf{NK*4PvcV=F+3g-hN|Xa)m#9cojssCL1bb;mmx>OlgESs1&pfb7&kaT zL(+*aW>L9X8CA?;V>~PjMj{%w+vn(9y&;n_K z|3HUA8F4?-A`=hu70}nDdqfuUZt^l-h1rEw@^6F8JfdX=tR0{eQA`%S+cQa+n+)vs*SQ*Ly?? z8uBkg1&`P!qchLTm%@-{!hZgNJ2G^g>p=Y&=*iZ$oXl;jg3gMoMCY#OF4=#eh0u$+ zl3FU7sj<-@HaysNAdnN@f0r)r!r*1ChXNPf6b@B zJt^SEi11D7&^~qBf#6@lGgRR3HC`I6KNC!Ki;^#*yobQvp;WwEgg$1dAh)to-j`z) zRx6IkK_0ujzSkIr&bP;KYLRSGYIH-(H=SLsNwSaiIEqNF44%}CN-Cdsp7Lb-e8X9d zQ~hN7eD`_ElkM|A&SSqdN%r!s^VA=eRQ}w#D?oY7tg!(naK|QhW_e=)db;bTXiagsNFLp9ye`w9XECra*AEy*E`})ivu0hfre%6j*i3~`I=hf$F{gJY|mUoKQuI}>umpJSAw zgB@HdcQB|ZWUgETD}-!Wcyj>mWjsgbMYPMsRh#cp=V@VI4#2+5O39n2EEW4xTMs1J zmvXEXH!$0|8F8ar+b!-$Ptcl43n!@BUBE-D`Db$K2A-ns<#Lsnx}Q%@%M=tv-Q#jf z*i-C|Rs*SHj!_Q}MK9s6#4R2Jh2cRMgSKd3tVhfPhF3gbg5W$t1?PXOHLx4s;A=Wd4Yu*s_YW^k>6UkGV{(#w_G;6t~N0#{;d;AnQ2yqXAVKq6!q^ zU0H;DDcv(Po;bNgd;4NzW=W0Yref&zF02Yz)}sNlN8E#UyyE>yO#B3y_>So*bau3f zJBANYhyk{A6HQ%Z=pCMP4-nzLWkTKBqT1Hy(P2$075Q~+g;UNlj|fteGszjCcR81b#F(J7W|;pI_Jr<4VNJS!7czbN zIJB0aDt|4Ub&n{g431=$AcZ9b{0vu}i984@gly)ZD?-UrP%TKq8!!mtbc~`ckB(GR2>(FR*qHB5KZ0TPJniKl70J+jKer;2W zN0JjAM6E;<^c+4?lj?{5ygF&?|3cs2+cCW6&$00%t=ub6?Ga6e_qi99GGbX zl!{dtHP>Rey3gLY{DaUthR=>%9vMgKMHZ(F6i}XHdT)KLBT2nI2gQ+CB)3L8U@e8qHLzd1m*e z$F!po1Su}-rD(0Cn^=FA!EfnTgEI+vsF0)StV4>%Rerk1y;EHlglIfQWMH1%hLOX-7bOP!JV8 z?aUf_{>g9dao)-8AfnwFTN&auW!MnLGMOapSjNa1fA$YBC4p$5tkAHP!x>qi8f?a% zAW+flGD*Q(NSX7aKw0g^#zoWeIX@TSEt;<73x2kfJX*fy=WNA zHvY8I%*Rfi+f&i)983|v;a9k#Lr+-H{88-2qhmmsj^Q5haIUPhsb~;e-%UoP_dlW$ zrT19J9uWX?%?RYT0vpR*bWAr|!VH)KY%qdmNT@qAG?*IHbkb_^6uOoAE)NY}0st*4 zPhmxu`bKoBptnzr!gC2~kD}U}j3e2JO) z{}878dHDYap#Dqzf0Wz%FY^B?MwX3TGXHZDy(jqpi4BUTsDVekiyW9f$ZXU7cbUEw z9iNZsy8%~*E#HsuALQkI4SJ*H!y|0KfGU}`!(~KvH5Fj7p9?U~i(wDqR@uJ{IJ9`i z0@nqv!>YCh6vYu0`-t-^vL9Jc>MSqW3=Li?>)cod$&ipP@&42G9P|tx&c(2M9A|Ni ziMERc9k`%8)Dy+5HFUuuWQV>^4PG9emN7p(i(X^d+tu=t6W&j6zYJZWuP+H+LFHOq zA-&+TmhV8rEfGI6n;VYu*4q(BUvn_cCM7DHO zcS%ZD!Y>e?qD@s9DPBf64K3=!`@E!Yz?HuBFzyfz;|_(MPk|d_1OYlaoiRR@1u?co z%CyC}*U)yTL|aVD<}PBD=)W3tVLzh+lP?D{@U*Sl&*g~bwGxkD>G_@yj_}4c~yAkcPUU#zC#yZ^$H5_BDevXlkd6@*m21*(;7Uq;M6h z$ky$&iZDAT$&DplLWuYGV=kg&m0JG?d{tlqAY{U51?r<`T&E~iU>-sE@pJobqjK@# zHJAl5ivLj32MHf9pMIgF7bAs7gwjwqE~zc;@`!buQ7KCr)1wgZ8)^hB@S_q~07`I} zGgn5R1*_@< z9M;lhU>=HFY&^^_KJ0Gs5T0OK$eVECoDTggLq9W#hGp1h&bx*fnB5lHU}^hc!zAd| z82R8>bnuK;vm@H)^)KXgIe=lnAjrUJ^cshJ@4~WDFNFOz%pq&BN$G{5F93=Im%qZH zg@VuVh=X_vbr-Tgu|5@Hu*#Np23l|FCg~+lk%WH{UV@WzToEg^Mj;;h#R=HF&R8gJ zlW7I@!<8lWTnhi=(ohrYxa(@SXE-#}xwM#Y_| zN{Ts2se6WZL^!PsjOCd_#VI7Jl?uXpjF5@9BB-^OGioeB>tPJ-(7QrtLLuA=zG|;b z%W2dIuoohY24OPN&{nuu594G#5VoWClu$&a9a|_lG6Ex};u*I>Kk2(Zyo7FtIeVHe z?$llCQ`FO+Y)urS)6p?sHOh_bgK(0jWz6J#~>9}Z9 zjP~Pl>ZUu>Dx+68fQiDrNa!lhX0FI`dJ7Fikd{}J$z&4j5Mbx$G42R4 zKInU!8o=;=hg9LQ5tfMR-@~AUuLvs0E`AZ$ zm8XqTBZCk@$Rwng&_|J=d6;Xg{R+yb#aoPxc5PdU5PuCP^hS9NLVvc*oQglgr z72c=(#s(^!^z#~4|2!fKyFagp$WJz}7{n7Oo8kPp@m@^2Wa9{`$d0O^?hLXb zZt=qxumCd1-7!4_xBmCN2n$BHZbNS1?N6h1pSIL69#l=z=9cd_Id++a#ZNvU`i?-%9Qgo%2(n`fZOF$cXZpxyw;BET|tDf<)6AIrVr@HlWysi+u3+{%~xJjP3T z>|GE!?(VLdsQ=&(={)_tSBb;1>#lO4B5&OPBbCm^kv;s?6F@H&Yrt3>)eqp_1P&jv z#BsC@VW*Xbg*c37^1`1bMiOy$P|J&P%RU+ffo6rZ;UgaWD4|eXagbdRm)nD@q8QH{ z@eHvnU|bXGF2o9%!W4Q$u}mQrx+}0sqYvB!zkr97%tqsRUVsi)u!vzYvxnUGBl}77 zRFAGA%#7>*lYBm1`XF+cg5d$4Do|i?_-Zzc8T`IB13r!RJMvOP48IDt9pxTz{gv?4 zyy7-wAb3T{WFpbS5$=Kbm#}%UrEMu!hzWrzkO&n2o;i=51N=1zD%45by`&}`{umt@ zVwaIrd1;q_0R4Exks&}?pxA$rJhNDwG~iO}YALMx7*vr(IUp{;Gek)eGeL-U z;vi)T!*^5nke{ssa|Xwg-k6NV3;&Q+&<2iVmWs$#;7F+`N0Lx@=-#uMioaCNY&^pXHXAUN;(x^Y4-8&pW;nK6ud4WG7|Cxf?2lMMnplAhEJ1 z8l~L&ln^C6A(G{@9U{m51e|ImW~aPoV)p%q(f}!FT*k@umr;Fx z^TVtj8RDwf&J{1oBd!l7#@`vk{|LMGv(;w^z6AVq;(|N_O2C41WaLNm#~I`cHyDoY8#Ge|k0Itdc-7!Shk`8iJ(!Xv`*ygXmOPkCawg8vMB9XT)K|2CeN z@gGD!)IAH%-*G4+ofRE`VZq8JJAW*DwMf5!U|5nAfA7b$nkf{)DE|DTmIE{?C0vRB4y%z zt`%Ez$?-YsI1~D3QvBH>Osy=C;uUHdpTPJaRUV%aF2HV!Vixo%q_fR*+qxmbaP?4SA37#Irp`h z2huz1wI%k!m!8cLQ&*{YY%gdpGU`jC4Z3IpojBp$D1Ov|U@H@K5Car8JbhS(bWa_Bn?UgG1g@1V5YteL(5W-vz~FvN^TZjR z1|a@Ta3&tuv2n2;_F~B=OTG*_^5kf5Nx$SS6C=1A9d^0$PqOvm9cWialR7-;5$$`T zQT|yTn4|Z&ou4Dk(oTD+#9b=Bf>6kz&wy$Mt^#kaC=*9vPVj3HJGJrXSGr~it-zW;93evm%SQ`34jC!xl+cB9P&;iu9Xd*|i5T?OQSzV- zG-x9RZ737(UP6N|fWBaC8<2s;;K_IL*JxgO8NUOM^2_*L^aO6uOCTHGbUYT*>ijbC zAlLpcX?2;eu0XqAsb=V!0AxG;0a__@7@SAw*JMkvIO#G3X$m&c39FicW zDw22`B`w_~fw4j{J#WcC= zaBpAw({#?zG1s7sT8G(?5gWB3oPu8Ts5ccls&jV~tKIWSG9_i=+7t4?X`hz~%ZjOv zZG1bDAxpQhtCM8ar>DA6bD7Y-!|KvWa;QmxQM>~~OZb+tonNKWkj$JVq3)y|YO=ma zaGTuXuJmv4Pp?R7Ca%B9^&@ac-2O+gn_!J=feUkv#wFu#X8f#26#SBZhQEy5od||b z`?Ejnrq<85KTGI8yGQ5oPfK|jk|$JrB=Qu({dn?El{WCT2Y6d?|8yei{rCOTI6d2` zEjm>J^%s$B_2;^zSibOvv6NLd6RW;kjG$RT{wUs{YH(38Sd--u9iRlBCkdW5KR>`o zp;ZRA*alk)riY?2-%}4I)RW|6zGr6K_tb>?b&8MKp4Ks4O{AfQy4@<3YiF=FhhlE*w5T%|FC3og)z+dL=+FUBfx zWyL9BO(iEp?e^bMrE0dGj!p(o_0cg~h%ewS2mJ19JMy^diK{=vvG4%Z0SD+BC%%6| zb)&$dTIJz=v0ueR$5aB4m?!f6;xO?)sAfq4QyCe4W;SLkcM?n^DEC8BmSrG!g^^6zEQyrvUBtcv1S`1AI}#-Xt5AV?*q$YD%?7=d5#x2Iq{fi%2#kB%ee#ITk9 z84ovbZ3kYl5*;8zDq)6Uz|3WIy$#j&592{3n>4t@^ux52uKe{F{03LRmhYkm1HKqA zs1A(Erxy=FN9VR5(YFH5a9j($>dK!&1%}QO3@Rc}xTodh=XgOAaN-kX0TV^zurnBX z#SyQ0llBUoboH^Tvy&SMaGXI+#Rtf?RRfM_qGK9lZfM%+w{_=Z25JElzsjwZG1cc{ z%H!Q|0Ys-d`PQ@1Xg*Uc=l?MR+hjj%OQL^pAHUz*Frq~K9>|z>T^%iN(?Q9gX|+ZB zr)Kq1D6z4vAIJZlYp7=DW{!7o+$lrwYEJpuLWu~Y4{8Q?w_ZS{XAoXN*pKiU!XAXT z5Ts%M^e=@lQd5VeAyK6(9Q)_-aOaB(k$AsnFj2spuY(S%9{M=|z zA6DVRKtbakp~mm(vg8?xJ2jh(gbWjL2Ai0cZfd8?l@fdlcu0;Y`PidKpGx|R_M=Ty8l3h=(Pm1kPSCFhZz^2{qFyj z`F;g+cL|&CJn9(ULy$}d|6E!b+K(n+(&NZIvmH}rhzSqCijfJIZ8!L@EN6=qIGay^ z$-c|ReVS5|kVs4(gp<$;J96Q<`fxFc1oEI26r#b^(IATf{L{rGv;Z%j9AMO9EMi!3 zSVA|TzNa)Mqm7D;P7r$)8I1zQ*)sZCk5^Fop z5=$S?!7bKrTw=3hOKcHLT=Ei2GOA)3O{XQ5QUKh$+u55OA4Uf64= z;R{0OEf((b6-yH)6ShWo+ zAhC)WOfFfoqCkg9+{yl!;-aCw^Jq#JVZ#w?s$B3YU>RC4ZPcJf-o1_Zj<#Vc=j5O;^Z)jOq}tm}-N7 zF-k|#VCMX|DAp;WV0$}M6us2w`F-N&xjzyGy~>3sXyy|8K~us@-u&4AwV8z|Y$OWm z=Debq#1lCmV}erSr&qGQ%_4~?LzC?-`_AzxEHgv}z9}v<-7AYrq#rwKf|Eo_Fn#cK z5*nKumO>-@y)Y2u$Kjn(37u8QziZ_p=phzL*h0lM230zGUITRULQzi3+1Uzogm-+Yz2c_*Z=! z;!jJz5$9$JO*J4#D;E;%q;OPDp1bt}+@rJsgf)gXR=9?zlQ&latO##2x=?nyD+M>a zhjr}cYZOo|n$J)zx>P|NJKcq!UZVUlJ`_he%`24C5xHDG440>eK?CXfA|0Ny)R5Pe zi1gpEDjL`-(0LCmEUaQrBfad3gJ41GB) zNI%KL5qhrJjxhn4-Z6c!53j)b(x6`oXO!c`R$#Pr6aV7om%qQtF0l4)`o*2LmByCd z&mL}t_J`%>@3gqSPs)isBvQH~GKEtv4F7j_PIW}>;fa3;^H*>s`<6e$WaI6Yb ztqhJ$9M9pnlH*p6cX51><9?3MaID`%b?qE4=6DUqTR7gyaSzA+9IHCGFOIV~c5&?H zIKc5%jw2i&r+DHQw3o>YiIl*F6bg!r&u()|kIafCl0JcaNa!k-cT zg77lJs|ar(yp3=Y;U5T}B7BLE0=5oE7=>^#!lejf5yl}*KrkarM#x8)jxZZx9zq$y zEeI6|w<4@WXhK+vumNEkf;3+FOG#B8(#ES|u<_&5hYeR>Fk+-;)M%~l!iz4}kNM6e z8JAvmdFJ>lt{gvptYQ3B3DhA^S6^dP^5df8=HQxoblgFXH*>s+<8>Ub;W)r?1IM)- z`#G-Ucp1lwIbO)|0*>7r_i#Lm<8F=%Id*Yu=h()viQ{aJvp6<#Y~VPP;|z}V9P2pN zaIEIIh~s9CTRGmy@fMD^a=eY>?Hupm_)(4@<9H{>yEyLTcsIupju*f#J4eyyWKRWC zPj#I-`8HNbGHlAwBuS zO&{Upqv_?8(B~ef5|fw2U$UYn@HSlacp2&jOM;o_bWUERQ9fCV8#Y#WWM zTR5OKbe%0=!UtC-DguTpz*!PMhD!2yjmYVVNqPX1UJj{4JlfU^aTKXwDN-YW9pSn+ zJiqFO(C4bacbEtDH|3}bI@FJ=$lYPVMji7lkf@8^*FT@!OdL&a4hBHGLMH}Zi@b(&2V6?gy;X~k9^)DA9L`(ms3ywe;q+*(Scda5p+-(zj>vxkR@8qSktjnCixy#TeVy1MBOCn3sPqVxnz>YN zkZhCXC_3Cel9IVm!GwuZ?Utk;l zFjd6QSn$K3zWK8rp`3UeQ+;Fci3Af;gZNq>4Rkz8#1>QwjbrA-$R39dX~&@!UlN&% ztOr^n_zY)w&)M{dDQG4dJR$x>ctp`49*814QRJtCf%Uk%6x2HMiIxo{9@-o;G0~L3 zh)^^&kRD#5>oX&wgBZ2wMtOLkJ$Rz+w6^sjWMnWMWyirkjDu~kYYYxWQ-W9HSBzJd zx~Y{+z)L;!v;h_6ryA74&D!)(G%YwwZgqL0)j*C6D&qe8jN!TcVSLEanI`jkO-e9b zT!w`=(bpfKMWJqufp?V!GD2DibTig@rc8R3?xgs(3HG&!T0u7Lp{h- zuSs3>!gY`I?7-47s+;055sI(aO>s^q#reAsS8W<|oRd+9Ik{pdC+UxIGVW1MChkD8 z?e6p=Nbvj2M-FnTdZZUA-UmN&jPh;A@G;Q+=^1!Vky50Gsqm4*(188vJ&1|!{pkns zM00R|`Vr-+Mz!#^h_t`?81gik*JMmgpE8Q`w?8@P0U1|Ay6 zHkGb&TaQk^;EL@)s~I60pp*2In_6@h@(o~>4UM9rROyp5~ z!06CRsY)AZ;Uxp*OMflVno}i@U$sA-#!id|Tv7*aqC^*%X+5A#>1{9WZ!a4N7xzQ2 zL&x!+Yglm7!^E~wk6NxsKH?(;Io)LlTomdt$Y2;18ElQfWRY0<^&#IUQb+M8A>SaK z;;Epi;o?DS@h2Edbc_jEGd2GpkwYCYjM97eBN`QOV$LB_qm(iEqvx# z%#^6}rGTpK#o&0c1tvD!<9sPN{Hb{;>>CZ}h*1~Ll%ze!bt8M)S%*G*xxAf~XDQP~ zQ|_WrK21?6cmYqVZ1f6=(v0&DfI0YWEFidOj%Q)T&=z%xslPy1vs59qs(qG9Sn-;g zbE(Ktvp9_QglD=|?(cB}eS&fWm13qL=g{oQCRNCOu9 zFm-3j(k{^=R~Rl%W8U>;h?U5@#jg-!;R>W#B3)uTGCNanRw;VXW@}^-meelsb3n0d zGRFP#^Kj9DhrSPhEJAn^cOXIrLlc+c5glL3){4#9T)gZgd&DbO8J4rmXfQ)u3%o^( zmUIaLB>@E*zY6c)1btKs4BY+*UP@v@jzyLTx`MzbFF{P&vR*9(hwn?5P$5N($9Tk7 zXaq#6ED^LgAZPITLGcbA7xkUonZjldHzu0%Q&39^sCK3t=%U|Y;T}tR=&VjC)ba5O!KUkyoFQj$RjVVVfVCUSMu@`XA zgwX|;JnTZ!(n%TmN6Lb8o}z!op~|rlI-m;{K&_slvI%?ebMO1GY>`hAxHh!LD6P9n zS%h|`;GbW?jFqehTI^^xqTPa3o0cjC!4f&oDkY|a9<-%xCe~kIjXXsP_d}Vh&G{q< zDKM;gy+#UNL@Qt&&?&7#x@Zw`ztjF(OcDrBUV2Kg_IwH2(PnyhuKI=RYSP5#pdIIp z2T`YkR|niw6UWFRcWc_)Heo#N9UCdWua)ATHBSP;Gu&aw&P(x_e<+hxbRGkyS;5Qmp)3A%m*c?0b=$S zKZ=V~h5L&i14wEw-W45VY^Dny9SftM9qlN76mpkGaM@AF`fI%2r$xD=co0U5R%NJ^ zruAr0jX^`BrA07;p>dhS#I91$vjR@*GZZ;LZo1SPE`UEW0#}>m`SWUMp9(*3I|*lx za0dvNqJM^qJ-vUzI!RX<%|Va+Y7jq^(sdwAIF36!tj;j8)<3)3eIgpf`gKOp2pUcC zK;mp#IcLxLXHn|e1hWvj{7+l93STRILF60K7tt52R;4o-~S*7KK!X9{rxABbOvEG zp07ukg|HZ*0bvt@>Oo0*9p#7cyc^+{2=r$H+>J0Ef&SFkTH@tE^8*O*wVGjhn(Gk) z2u%n!1S_qrEf&+QX&t~fPX{G;eCH>AeNvcIyfM7@H1^f)c`v}Jnb|TQ_2^r(!q)(y2dY>4>VpAkd9bR=hY~o=fC9dvK?+tjNKL+4-wHsQ zZmVt}czJoSuC~6SlAfFDSKLO}|J#afKPM zU|q%XTAv|MkAG;iI#69vTYbCFP+Pscv7&J;)w$IdAabOpTAzuVEzH~Lois#p084Hbcaudz;AQCr{S0|$b2x7F3Jt~2-=8|#Uw<>l3N zmA*A7uV}(tlEz^WP&;+sK+L%-(t;j1c57ajW8msGWy_RSg zH_4jQWbmzNKn?0|Tq2WgxE23wD;f^gH3b_Q>KlPzsBZ{V*Vh@AaXqw9Uk4u6*VpI~P`*IjFX51%68Ml0i5%S+sw%2$i6m)duojZ6 ztfcYFq#Le{!_H|j!G~ld^g%87h-uZ>sx?+stnekZ7l(aYdr3&i?Zw8JRD2c}K=*mZ z6{wf>9b+cis_Uxir9izO;;E~EijuC<1H&P*$}VSdytA`2Yu#n)JCatQUVbY^N_rntThOvXwkyjq6{w8o3Z?aRb<{ugp$v_lWtBxao*R6a zT*O>FQ;+fIKt+K2COO5PYpa_AJ`7Nqn;47SA8>dKNaJneIo>w45o;UIG4m%i`GbK< zOlG3_HkcpqbQS4fqc7OxQ-lDUII#}@HgavnTB#P3lx4sTS10IPU zb1&eh6#4J3tN^`@>-l*_ZMCm1AU~4|#Nc4{dcr5&vC#wn6&A{A%uWqFr;NF(v3@0w zJAehevc4|R2t!UZFK>i_UV#qr%=D9ez;kuOM4p;dG_ksBXg&~Ny&Hm4TVGFh7%*^P z;z}QxizYu$48STI>(O8mka-ZStLFCo^$jF6h9!Ds=vgrCg<)s)!mx9Cf!(c?`HS@X zieC9D!8ytY>yjZdEXG%PE&Dz#Ld@qzUloMQY6?mtg*-3mpTn-I50W;K*kP0m6}6bd zm1_<7=dpnw*JZM`@g`z8@!rv5gRgOAbyE}JRr>0xxu@A=-x`ArWUs40EL-dq6}7~C z_j&NARaC}}<7{OutZ2M7xDpzKD$;`39IbEg)xp5m`kJKqzNY$M;|i>_zLgMtMI$VU z0gLY{7;PFn)td+6D!6kjVKg%S7s1&CCzZuUHMG1`Uf9v2(gX%rS6?Sv3AA10YYJ4? z$*sqD*y#ISu)0xZ_FQyRaVt3j^@iH|x?71JH|$gWiuzi^>PA2efwc`jh@nw2J(5Ix zARERw%FK?}A(_ROL7XMa^l=+!6(x;rXi2;+**al7Lz0;i;gfWeFR;44@iqhgjdnIiN%>$M)NqAgmS7A{)1v|P z6}=-}W3_~B10Sjat1B9PSYk-elW{7R%O*jZF56{Umr;qw0z*tPxvAbDyM>0P2CT@2 zWCc=q3^HRQOlW?hjJTM9D`O{9ZK$ZiJW!--NHV@j^pI_aQv>G|e@XE8oSQ}KXpB)Z zy=(%>t)jV1_2Tmb%CiD`hv^aLaZ_-4(^_zUB{g!^{P0$@K2NHwtu??v^CSi-hWaW) zV+Bk@#2_~_=Hb|y}>c#w8cUoOiU(}oW^fziE6Q5aMsMj`cmJx7D|SHnO?RiN-OA_*+Mn~YiKp}lUN8bud1%} zRc0GdKmhie$k$2W#7#w#g<*?>HbDp3vGdvv8gFy!B;Fs;v-~$O6`KqEX_dS#R?sXz z#PY|LbCKiIW%vN4coX{%?3^go+GY5%Vzpc)MZq&zRgyFXfi~~aOYnTLTtcsB=(P>y zE}cAZ3#HhbV>2vCCpIJ8Nf}An&hft%(b>^)9J&)RbZ$JP6@|hfuzw+g<1qOTt?$G_ zI4R&;6ELo1{gRr|FZ!8OO)6~UGc(X35j!TCOe?Cedf?@*oS!~_fpOvVsni(W`X<9} zCKz53C&6Yj9^M@%!x&Etfw>v4e<+Oc28O^EFy1GCY0%dsrey)+Nszm*&?gz(`N*e^bnfvKahAoisa3o1; zgEoP;K*qz%czl2gFz(p629Hwny;y?@=97u(MSeTwWxiYRC^c-6Bz*#AC0Hw9N%FA~ zjLukoj>90OF8jjNSR@TFWvr1$aJDlX`Q^M-rfTQ>(R+CU_9|&C|HtpidKk;&TS1H$ z%NI9(bNSUxl5Q#jwHw37#m0F3*Van9egrB{{sRi*{2qKsK|w4$iu_{;I}r*|>lviv zAvXGG>5yuJ737$)P4NZF36Ar+`w}g0{R!mLf-!=RvA-7qo6{`wHU`U}Gcdp+Nq9AY zxd3ZUYHt!#UaI_$58hDJNyei5|{e<@^f2 zZ^dnN_ClNGcNw30kWXbK=|?gaHZ*c8zmByMs8xvAlGIMD)^FliF~~`RlvB&>he#iB zzR}lEOD9Q(I9J^i!%j^h>_B}i|4zI%9lqR4xjE%bd5ns?Wf*zGbaW~GR?at|2j$>2 zEJNVN$Lc(;;D9K&OgJW!z92|BojMS|U*R0~hkW2CNyBBT*dJ5JpZO3(`igM_^)Wf5 zC?kmVHB8CF%~#f#zi|!XNR`sT@i=4!9m>EFlcX0IMj9aRD*hbH^BI{W^>ZHb1`1wo zb8ZE8Apx9<(MIwwG5nPPC~XWf45Lhf?I75kavVk_fLmo4^Et??!r!?j(Hzs5Ph)K< z^qh!e#76#k3`6PtCzPL4uK2wYJ7 zrY}&+dyxg$^-OJ=fsH&pNjp+zU=vXhQ1;AN`+t#MR_Dj*AA}WEoE>1lOM4foHGKh{I$*c%i-Dw;wAoEcroM3oqzzqhLx<_eVTP(C z=xbbyqYB#GRMf5TO~+vgb^e`mTc2GiU6ur0fQe91380jjQdHeU8YF|}$nOBA!^>}y zmZr^)za1!@gJZr~s3hGEnu>hOgSWy`#Avy(c>Ybrb7H)lC1J0?c4-_=B%1=2&8 z$ye2vS7MXhSiiQMP7Ng~M=Fw zub`B#YHEO#166PlxR>OTrWF-+Rg!cK+HY*E!>L>ao&N^v;nNnz`oxP6y9BDL>0QD~ zyd#T0m;0ot63m0Y9LG2)EGGxzQVAW`RaM^#8I;#m;7!Boa+u3iJc`6?lvt6kZdEl7 zP~_90T)A!eMN4^ooo`Kbpj??JMxw{J0tbde3ob!_ga_Iiswb{&nz*{UZsLl@z(g># zx_)Ax8=(bI*l)qWIIv|6d$D{u?AvMvH@+XiV zKz;ye!-WZW0H5F7oQ?N?NOic_yAkQ}Ns?|0QuhsbcSw0t0-ru?OYacrvz@WFu?>;1 z)#Sh3fOjipG4^TZnsk2P31E&7NqXE_@V*Q%_yg@NJr*Kx+6$UNKa7tchM$N1JW~8K3meMe+U>- zJ*8+T6KOBXjYu~Go{dyOyEdfD&`u#z>TeEGqGKV_&45=TZAQJ=cp8u&xC;D4y7OxA z6KOBfEl71pw;^pd48>oTCF5_uPR7T#%5^({cYM5DuNmdB_UXN?p%`tW+=P_)P>3{E zPUE04bRrOp__^7W;3x5q^2E0Rugo{y0-0~ikSBg^MxOY!3@Np@y#%yx1l{xHwoUT@ zM_%Wa`LrGNh)=y}m-sFrPyA{qllc`vJH#&&;4wOls9!i9Fr)^g#4j4Z3wcUsQTer~ zM`;#x4ygfYGg1lgEtE(4DAEY(?^e=Yq}!1{fpi(tL8Q${WBiQuPwg**oT%Miq%pZr zdj{mGJxZxP2`SYtL>jA4@6C1KgRUKTNMrEe*4UGr{_fJ}is)8j3`%n%wm&2o<^MCZDYVSC zlvtKqnk*5^1=g#qldXl;S=I&CpICoq-EZx+9c)!Te+MPP5%|qh+n-9!sWml68~yA?pe2MB6-Dvu(5OZ??3Y zi*g(}ft+`8Zl1hi@?(=utlXrQZEpKbyuk!ZhUE!SK ztaIMs-0s}v-0Qr|Rp^@Ms&SokU6S9B|3-dh!F2_ef++>wf_n3+O{g^hdG@&|B>_OoI^SP$h~s%k0*CcJ~MfQeW|_HzSaIa`#$>z_FBii zjxNW?j%)Ht^V;*autaR*kyyBRXSC#j}yuQ3I^U|GHIW5j*&Xvx)A@Mhzqg_|K zN?eOvTU`&icDR1$deU{o)#n;;opzmZrRHbm-;h5ee^LIO`8)HU%-@~AH@_$UMU4IR z{Qmrb{7)c>Gx<`1s^AuA?)M5h3Vv0vyWnua#3>C^?jYGL!x;`H?MTx&(~YM8z?{0; z{Dk>{dC z&N!qzRh~Lelc&qm=Vjz&<{9#gd0Bbcc_z#>d!8$=Fs~?YR^FVvU3pLEMe_FL9n3qF zcO>u4yc2ov=MChY&O4Kr>Qp;NJN3@XoCfE3XEtPHcNRE{oZof2ogU|6=W?eXGd1A6 z-PsJC+~mB+xz+iQbBFUc&YjLbId?;rJDp0S9XnKEHvEdm;1uMVb!~99 zxx%g=yB=`;%=L)t*Dg8-%!b+?HcJ+jMQzbobQZlO!;)z+Sd5k|OSZ*iv03aE7oFO| z2pW)Nm@-Z4OwCw3bXJpfj@50gwKiB$upQ@z;HP9#nbanYiSP_2qse5lnd~N)snAqp znq`_}a+?;ImYFI|ezehQ+G^T{HE4%vr)d}LeYdH{bkNjmI*b+RnCZCbgh`nCO#`M+ zOoJwTR@@s(ncbg;TZgY?Mpt%>e>A3lXS(y9H1LjW@ zo_rHW3N1yJS(Z5#w`GB4p=GgUnWfU=x71o1ECI_J%Q{Q5rPZ?0vdOa9vc= 200) and (code <= 299) then + recvt.sink(reply) + return 1 + end + if not self.pasvt then self:portconnect() end + local source = socket.source("until-closed", self.data) + local step = recvt.step or ltn12.pump.step + self.try(ltn12.pump.all(source, recvt.sink, step)) + if string.find(code, "1..") then self.try(self.tp:check("2..")) end + self.data:close() + self.data = nil + return 1 +end + +function metat.__index:cwd(dir) + self.try(self.tp:command("cwd", dir)) + self.try(self.tp:check(250)) + return 1 +end + +function metat.__index:type(type) + self.try(self.tp:command("type", type)) + self.try(self.tp:check(200)) + return 1 +end + +function metat.__index:greet() + local code = self.try(self.tp:check{"1..", "2.."}) + if string.find(code, "1..") then self.try(self.tp:check("2..")) end + return 1 +end + +function metat.__index:quit() + self.try(self.tp:command("quit")) + self.try(self.tp:check("2..")) + return 1 +end + +function metat.__index:close() + if self.data then self.data:close() end + if self.server then self.server:close() end + return self.tp:close() +end + +----------------------------------------------------------------------------- +-- High level FTP API +----------------------------------------------------------------------------- +local function override(t) + if t.url then + local u = url.parse(t.url) + for i,v in base.pairs(t) do + u[i] = v + end + return u + else return t end +end + +local function tput(putt) + putt = override(putt) + socket.try(putt.host, "missing hostname") + local f = _M.open(putt.host, putt.port, putt.create) + f:greet() + f:login(putt.user, putt.password) + if putt.type then f:type(putt.type) end + f:pasv() + local sent = f:send(putt) + f:quit() + f:close() + return sent +end + +local default = { + path = "/", + scheme = "ftp" +} + +local function parse(u) + local t = socket.try(url.parse(u, default)) + socket.try(t.scheme == "ftp", "wrong scheme '" .. t.scheme .. "'") + socket.try(t.host, "missing hostname") + local pat = "^type=(.)$" + if t.params then + t.type = socket.skip(2, string.find(t.params, pat)) + socket.try(t.type == "a" or t.type == "i", + "invalid type '" .. t.type .. "'") + end + return t +end + +local function sput(u, body) + local putt = parse(u) + putt.source = ltn12.source.string(body) + return tput(putt) +end + +_M.put = socket.protect(function(putt, body) + if base.type(putt) == "string" then return sput(putt, body) + else return tput(putt) end +end) + +local function tget(gett) + gett = override(gett) + socket.try(gett.host, "missing hostname") + local f = _M.open(gett.host, gett.port, gett.create) + f:greet() + f:login(gett.user, gett.password) + if gett.type then f:type(gett.type) end + f:pasv() + f:receive(gett) + f:quit() + return f:close() +end + +local function sget(u) + local gett = parse(u) + local t = {} + gett.sink = ltn12.sink.table(t) + tget(gett) + return table.concat(t) +end + +_M.command = socket.protect(function(cmdt) + cmdt = override(cmdt) + socket.try(cmdt.host, "missing hostname") + socket.try(cmdt.command, "missing command") + local f = open(cmdt.host, cmdt.port, cmdt.create) + f:greet() + f:login(cmdt.user, cmdt.password) + f.try(f.tp:command(cmdt.command, cmdt.argument)) + if cmdt.check then f.try(f.tp:check(cmdt.check)) end + f:quit() + return f:close() +end) + +_M.get = socket.protect(function(gett) + if base.type(gett) == "string" then return sget(gett) + else return tget(gett) end +end) + +return _M \ No newline at end of file diff --git a/socket/headers.lua b/socket/headers.lua new file mode 100644 index 0000000..1eb8223 --- /dev/null +++ b/socket/headers.lua @@ -0,0 +1,104 @@ +----------------------------------------------------------------------------- +-- Canonic header field capitalization +-- LuaSocket toolkit. +-- Author: Diego Nehab +----------------------------------------------------------------------------- +local socket = require("socket") +socket.headers = {} +local _M = socket.headers + +_M.canonic = { + ["accept"] = "Accept", + ["accept-charset"] = "Accept-Charset", + ["accept-encoding"] = "Accept-Encoding", + ["accept-language"] = "Accept-Language", + ["accept-ranges"] = "Accept-Ranges", + ["action"] = "Action", + ["alternate-recipient"] = "Alternate-Recipient", + ["age"] = "Age", + ["allow"] = "Allow", + ["arrival-date"] = "Arrival-Date", + ["authorization"] = "Authorization", + ["bcc"] = "Bcc", + ["cache-control"] = "Cache-Control", + ["cc"] = "Cc", + ["comments"] = "Comments", + ["connection"] = "Connection", + ["content-description"] = "Content-Description", + ["content-disposition"] = "Content-Disposition", + ["content-encoding"] = "Content-Encoding", + ["content-id"] = "Content-ID", + ["content-language"] = "Content-Language", + ["content-length"] = "Content-Length", + ["content-location"] = "Content-Location", + ["content-md5"] = "Content-MD5", + ["content-range"] = "Content-Range", + ["content-transfer-encoding"] = "Content-Transfer-Encoding", + ["content-type"] = "Content-Type", + ["cookie"] = "Cookie", + ["date"] = "Date", + ["diagnostic-code"] = "Diagnostic-Code", + ["dsn-gateway"] = "DSN-Gateway", + ["etag"] = "ETag", + ["expect"] = "Expect", + ["expires"] = "Expires", + ["final-log-id"] = "Final-Log-ID", + ["final-recipient"] = "Final-Recipient", + ["from"] = "From", + ["host"] = "Host", + ["if-match"] = "If-Match", + ["if-modified-since"] = "If-Modified-Since", + ["if-none-match"] = "If-None-Match", + ["if-range"] = "If-Range", + ["if-unmodified-since"] = "If-Unmodified-Since", + ["in-reply-to"] = "In-Reply-To", + ["keywords"] = "Keywords", + ["last-attempt-date"] = "Last-Attempt-Date", + ["last-modified"] = "Last-Modified", + ["location"] = "Location", + ["max-forwards"] = "Max-Forwards", + ["message-id"] = "Message-ID", + ["mime-version"] = "MIME-Version", + ["original-envelope-id"] = "Original-Envelope-ID", + ["original-recipient"] = "Original-Recipient", + ["pragma"] = "Pragma", + ["proxy-authenticate"] = "Proxy-Authenticate", + ["proxy-authorization"] = "Proxy-Authorization", + ["range"] = "Range", + ["received"] = "Received", + ["received-from-mta"] = "Received-From-MTA", + ["references"] = "References", + ["referer"] = "Referer", + ["remote-mta"] = "Remote-MTA", + ["reply-to"] = "Reply-To", + ["reporting-mta"] = "Reporting-MTA", + ["resent-bcc"] = "Resent-Bcc", + ["resent-cc"] = "Resent-Cc", + ["resent-date"] = "Resent-Date", + ["resent-from"] = "Resent-From", + ["resent-message-id"] = "Resent-Message-ID", + ["resent-reply-to"] = "Resent-Reply-To", + ["resent-sender"] = "Resent-Sender", + ["resent-to"] = "Resent-To", + ["retry-after"] = "Retry-After", + ["return-path"] = "Return-Path", + ["sender"] = "Sender", + ["server"] = "Server", + ["smtp-remote-recipient"] = "SMTP-Remote-Recipient", + ["status"] = "Status", + ["subject"] = "Subject", + ["te"] = "TE", + ["to"] = "To", + ["trailer"] = "Trailer", + ["transfer-encoding"] = "Transfer-Encoding", + ["upgrade"] = "Upgrade", + ["user-agent"] = "User-Agent", + ["vary"] = "Vary", + ["via"] = "Via", + ["warning"] = "Warning", + ["will-retry-until"] = "Will-Retry-Until", + ["www-authenticate"] = "WWW-Authenticate", + ["x-mailer"] = "X-Mailer", +} + +return _M \ No newline at end of file diff --git a/socket/http.lua b/socket/http.lua new file mode 100644 index 0000000..ac4b2d6 --- /dev/null +++ b/socket/http.lua @@ -0,0 +1,354 @@ +----------------------------------------------------------------------------- +-- HTTP/1.1 client support for the Lua language. +-- LuaSocket toolkit. +-- Author: Diego Nehab +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +------------------------------------------------------------------------------- +local socket = require("socket") +local url = require("socket.url") +local ltn12 = require("ltn12") +local mime = require("mime") +local string = require("string") +local headers = require("socket.headers") +local base = _G +local table = require("table") +socket.http = {} +local _M = socket.http + +----------------------------------------------------------------------------- +-- Program constants +----------------------------------------------------------------------------- +-- connection timeout in seconds +TIMEOUT = 60 +-- default port for document retrieval +_M.PORT = 80 +-- user agent field sent in request +_M.USERAGENT = socket._VERSION + +----------------------------------------------------------------------------- +-- Reads MIME headers from a connection, unfolding where needed +----------------------------------------------------------------------------- +local function receiveheaders(sock, headers) + local line, name, value, err + headers = headers or {} + -- get first line + line, err = sock:receive() + if err then return nil, err end + -- headers go until a blank line is found + while line ~= "" do + -- get field-name and value + name, value = socket.skip(2, string.find(line, "^(.-):%s*(.*)")) + if not (name and value) then return nil, "malformed reponse headers" end + name = string.lower(name) + -- get next line (value might be folded) + line, err = sock:receive() + if err then return nil, err end + -- unfold any folded values + while string.find(line, "^%s") do + value = value .. line + line = sock:receive() + if err then return nil, err end + end + -- save pair in table + if headers[name] then headers[name] = headers[name] .. ", " .. value + else headers[name] = value end + end + return headers +end + +----------------------------------------------------------------------------- +-- Extra sources and sinks +----------------------------------------------------------------------------- +socket.sourcet["http-chunked"] = function(sock, headers) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function() + -- get chunk size, skip extention + local line, err = sock:receive() + if err then return nil, err end + local size = base.tonumber(string.gsub(line, ";.*", ""), 16) + if not size then return nil, "invalid chunk size" end + -- was it the last chunk? + if size > 0 then + -- if not, get chunk and skip terminating CRLF + local chunk, err, part = sock:receive(size) + if chunk then sock:receive() end + return chunk, err + else + -- if it was, read trailers into headers table + headers, err = receiveheaders(sock, headers) + if not headers then return nil, err end + end + end + }) +end + +socket.sinkt["http-chunked"] = function(sock) + return base.setmetatable({ + getfd = function() return sock:getfd() end, + dirty = function() return sock:dirty() end + }, { + __call = function(self, chunk, err) + if not chunk then return sock:send("0\r\n\r\n") end + local size = string.format("%X\r\n", string.len(chunk)) + return sock:send(size .. chunk .. "\r\n") + end + }) +end + +----------------------------------------------------------------------------- +-- Low level HTTP API +----------------------------------------------------------------------------- +local metat = { __index = {} } + +function _M.open(host, port, create) + -- create socket with user connect function, or with default + local c = socket.try((create or socket.tcp)()) + local h = base.setmetatable({ c = c }, metat) + -- create finalized try + h.try = socket.newtry(function() h:close() end) + -- set timeout before connecting + h.try(c:settimeout(_M.TIMEOUT)) + h.try(c:connect(host, port or _M.PORT)) + -- here everything worked + return h +end + +function metat.__index:sendrequestline(method, uri) + local reqline = string.format("%s %s HTTP/1.1\r\n", method or "GET", uri) + return self.try(self.c:send(reqline)) +end + +function metat.__index:sendheaders(tosend) + local canonic = headers.canonic + local h = "\r\n" + for f, v in base.pairs(tosend) do + h = (canonic[f] or f) .. ": " .. v .. "\r\n" .. h + end + self.try(self.c:send(h)) + return 1 +end + +function metat.__index:sendbody(headers, source, step) + source = source or ltn12.source.empty() + step = step or ltn12.pump.step + -- if we don't know the size in advance, send chunked and hope for the best + local mode = "http-chunked" + if headers["content-length"] then mode = "keep-open" end + return self.try(ltn12.pump.all(source, socket.sink(mode, self.c), step)) +end + +function metat.__index:receivestatusline() + local status = self.try(self.c:receive(5)) + -- identify HTTP/0.9 responses, which do not contain a status line + -- this is just a heuristic, but is what the RFC recommends + if status ~= "HTTP/" then return nil, status end + -- otherwise proceed reading a status line + status = self.try(self.c:receive("*l", status)) + local code = socket.skip(2, string.find(status, "HTTP/%d*%.%d* (%d%d%d)")) + return self.try(base.tonumber(code), status) +end + +function metat.__index:receiveheaders() + return self.try(receiveheaders(self.c)) +end + +function metat.__index:receivebody(headers, sink, step) + sink = sink or ltn12.sink.null() + step = step or ltn12.pump.step + local length = base.tonumber(headers["content-length"]) + local t = headers["transfer-encoding"] -- shortcut + local mode = "default" -- connection close + if t and t ~= "identity" then mode = "http-chunked" + elseif base.tonumber(headers["content-length"]) then mode = "by-length" end + return self.try(ltn12.pump.all(socket.source(mode, self.c, length), + sink, step)) +end + +function metat.__index:receive09body(status, sink, step) + local source = ltn12.source.rewind(socket.source("until-closed", self.c)) + source(status) + return self.try(ltn12.pump.all(source, sink, step)) +end + +function metat.__index:close() + return self.c:close() +end + +----------------------------------------------------------------------------- +-- High level HTTP API +----------------------------------------------------------------------------- +local function adjusturi(reqt) + local u = reqt + -- if there is a proxy, we need the full url. otherwise, just a part. + if not reqt.proxy and not PROXY then + u = { + path = socket.try(reqt.path, "invalid path 'nil'"), + params = reqt.params, + query = reqt.query, + fragment = reqt.fragment + } + end + return url.build(u) +end + +local function adjustproxy(reqt) + local proxy = reqt.proxy or PROXY + if proxy then + proxy = url.parse(proxy) + return proxy.host, proxy.port or 3128 + else + return reqt.host, reqt.port + end +end + +local function adjustheaders(reqt) + -- default headers + local lower = { + ["user-agent"] = _M.USERAGENT, + ["host"] = reqt.host, + ["connection"] = "close, TE", + ["te"] = "trailers" + } + -- if we have authentication information, pass it along + if reqt.user and reqt.password then + lower["authorization"] = + "Basic " .. (mime.b64(reqt.user .. ":" .. reqt.password)) + end + -- override with user headers + for i,v in base.pairs(reqt.headers or lower) do + lower[string.lower(i)] = v + end + return lower +end + +-- default url parts +local default = { + host = "", + port = _M.PORT, + path ="/", + scheme = "http" +} + +local function adjustrequest(reqt) + -- parse url if provided + local nreqt = reqt.url and url.parse(reqt.url, default) or {} + -- explicit components override url + for i,v in base.pairs(reqt) do nreqt[i] = v end + if nreqt.port == "" then nreqt.port = 80 end + socket.try(nreqt.host and nreqt.host ~= "", + "invalid host '" .. base.tostring(nreqt.host) .. "'") + -- compute uri if user hasn't overriden + nreqt.uri = reqt.uri or adjusturi(nreqt) + -- ajust host and port if there is a proxy + nreqt.host, nreqt.port = adjustproxy(nreqt) + -- adjust headers in request + nreqt.headers = adjustheaders(nreqt) + return nreqt +end + +local function shouldredirect(reqt, code, headers) + return headers.location and + string.gsub(headers.location, "%s", "") ~= "" and + (reqt.redirect ~= false) and + (code == 301 or code == 302 or code == 303 or code == 307) and + (not reqt.method or reqt.method == "GET" or reqt.method == "HEAD") + and (not reqt.nredirects or reqt.nredirects < 5) +end + +local function shouldreceivebody(reqt, code) + if reqt.method == "HEAD" then return nil end + if code == 204 or code == 304 then return nil end + if code >= 100 and code < 200 then return nil end + return 1 +end + +-- forward declarations +local trequest, tredirect + +--[[local]] function tredirect(reqt, location) + local result, code, headers, status = trequest { + -- the RFC says the redirect URL has to be absolute, but some + -- servers do not respect that + url = url.absolute(reqt.url, location), + source = reqt.source, + sink = reqt.sink, + headers = reqt.headers, + proxy = reqt.proxy, + nredirects = (reqt.nredirects or 0) + 1, + create = reqt.create + } + -- pass location header back as a hint we redirected + headers = headers or {} + headers.location = headers.location or location + return result, code, headers, status +end + +--[[local]] function trequest(reqt) + -- we loop until we get what we want, or + -- until we are sure there is no way to get it + local nreqt = adjustrequest(reqt) + local h = _M.open(nreqt.host, nreqt.port, nreqt.create) + -- send request line and headers + h:sendrequestline(nreqt.method, nreqt.uri) + h:sendheaders(nreqt.headers) + -- if there is a body, send it + if nreqt.source then + h:sendbody(nreqt.headers, nreqt.source, nreqt.step) + end + local code, status = h:receivestatusline() + -- if it is an HTTP/0.9 server, simply get the body and we are done + if not code then + h:receive09body(status, nreqt.sink, nreqt.step) + return 1, 200 + end + local headers + -- ignore any 100-continue messages + while code == 100 do + headers = h:receiveheaders() + code, status = h:receivestatusline() + end + headers = h:receiveheaders() + -- at this point we should have a honest reply from the server + -- we can't redirect if we already used the source, so we report the error + if shouldredirect(nreqt, code, headers) and not nreqt.source then + h:close() + return tredirect(reqt, headers.location) + end + -- here we are finally done + if shouldreceivebody(nreqt, code) then + h:receivebody(headers, nreqt.sink, nreqt.step) + end + h:close() + return 1, code, headers, status +end + +local function srequest(u, b) + local t = {} + local reqt = { + url = u, + sink = ltn12.sink.table(t) + } + if b then + reqt.source = ltn12.source.string(b) + reqt.headers = { + ["content-length"] = string.len(b), + ["content-type"] = "application/x-www-form-urlencoded" + } + reqt.method = "POST" + end + local code, headers, status = socket.skip(1, trequest(reqt)) + return table.concat(t), code, headers, status +end + +_M.request = socket.protect(function(reqt, body) + if base.type(reqt) == "string" then return srequest(reqt, body) + else return trequest(reqt) end +end) + +return _M \ No newline at end of file diff --git a/socket/smtp.lua b/socket/smtp.lua new file mode 100644 index 0000000..b113d00 --- /dev/null +++ b/socket/smtp.lua @@ -0,0 +1,256 @@ +----------------------------------------------------------------------------- +-- SMTP client support for the Lua language. +-- LuaSocket toolkit. +-- Author: Diego Nehab +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +----------------------------------------------------------------------------- +local base = _G +local coroutine = require("coroutine") +local string = require("string") +local math = require("math") +local os = require("os") +local socket = require("socket") +local tp = require("socket.tp") +local ltn12 = require("ltn12") +local headers = require("socket.headers") +local mime = require("mime") + +socket.smtp = {} +local _M = socket.smtp + +----------------------------------------------------------------------------- +-- Program constants +----------------------------------------------------------------------------- +-- timeout for connection +_M.TIMEOUT = 60 +-- default server used to send e-mails +_M.SERVER = "localhost" +-- default port +_M.PORT = 25 +-- domain used in HELO command and default sendmail +-- If we are under a CGI, try to get from environment +_M.DOMAIN = os.getenv("SERVER_NAME") or "localhost" +-- default time zone (means we don't know) +_M.ZONE = "-0000" + +--------------------------------------------------------------------------- +-- Low level SMTP API +----------------------------------------------------------------------------- +local metat = { __index = {} } + +function metat.__index:greet(domain) + self.try(self.tp:check("2..")) + self.try(self.tp:command("EHLO", domain or _M.DOMAIN)) + return socket.skip(1, self.try(self.tp:check("2.."))) +end + +function metat.__index:mail(from) + self.try(self.tp:command("MAIL", "FROM:" .. from)) + return self.try(self.tp:check("2..")) +end + +function metat.__index:rcpt(to) + self.try(self.tp:command("RCPT", "TO:" .. to)) + return self.try(self.tp:check("2..")) +end + +function metat.__index:data(src, step) + self.try(self.tp:command("DATA")) + self.try(self.tp:check("3..")) + self.try(self.tp:source(src, step)) + self.try(self.tp:send("\r\n.\r\n")) + return self.try(self.tp:check("2..")) +end + +function metat.__index:quit() + self.try(self.tp:command("QUIT")) + return self.try(self.tp:check("2..")) +end + +function metat.__index:close() + return self.tp:close() +end + +function metat.__index:login(user, password) + self.try(self.tp:command("AUTH", "LOGIN")) + self.try(self.tp:check("3..")) + self.try(self.tp:send(mime.b64(user) .. "\r\n")) + self.try(self.tp:check("3..")) + self.try(self.tp:send(mime.b64(password) .. "\r\n")) + return self.try(self.tp:check("2..")) +end + +function metat.__index:plain(user, password) + local auth = "PLAIN " .. mime.b64("\0" .. user .. "\0" .. password) + self.try(self.tp:command("AUTH", auth)) + return self.try(self.tp:check("2..")) +end + +function metat.__index:auth(user, password, ext) + if not user or not password then return 1 end + if string.find(ext, "AUTH[^\n]+LOGIN") then + return self:login(user, password) + elseif string.find(ext, "AUTH[^\n]+PLAIN") then + return self:plain(user, password) + else + self.try(nil, "authentication not supported") + end +end + +-- send message or throw an exception +function metat.__index:send(mailt) + self:mail(mailt.from) + if base.type(mailt.rcpt) == "table" then + for i,v in base.ipairs(mailt.rcpt) do + self:rcpt(v) + end + else + self:rcpt(mailt.rcpt) + end + self:data(ltn12.source.chain(mailt.source, mime.stuff()), mailt.step) +end + +function _M.open(server, port, create) + local tp = socket.try(tp.connect(server or _M.SERVER, port or _M.PORT, + _M.TIMEOUT, create)) + local s = base.setmetatable({tp = tp}, metat) + -- make sure tp is closed if we get an exception + s.try = socket.newtry(function() + s:close() + end) + return s +end + +-- convert headers to lowercase +local function lower_headers(headers) + local lower = {} + for i,v in base.pairs(headers or lower) do + lower[string.lower(i)] = v + end + return lower +end + +--------------------------------------------------------------------------- +-- Multipart message source +----------------------------------------------------------------------------- +-- returns a hopefully unique mime boundary +local seqno = 0 +local function newboundary() + seqno = seqno + 1 + return string.format('%s%05d==%05u', os.date('%d%m%Y%H%M%S'), + math.random(0, 99999), seqno) +end + +-- send_message forward declaration +local send_message + +-- yield the headers all at once, it's faster +local function send_headers(tosend) + local canonic = headers.canonic + local h = "\r\n" + for f,v in base.pairs(tosend) do + h = (canonic[f] or f) .. ': ' .. v .. "\r\n" .. h + end + coroutine.yield(h) +end + +-- yield multipart message body from a multipart message table +local function send_multipart(mesgt) + -- make sure we have our boundary and send headers + local bd = newboundary() + local headers = lower_headers(mesgt.headers or {}) + headers['content-type'] = headers['content-type'] or 'multipart/mixed' + headers['content-type'] = headers['content-type'] .. + '; boundary="' .. bd .. '"' + send_headers(headers) + -- send preamble + if mesgt.body.preamble then + coroutine.yield(mesgt.body.preamble) + coroutine.yield("\r\n") + end + -- send each part separated by a boundary + for i, m in base.ipairs(mesgt.body) do + coroutine.yield("\r\n--" .. bd .. "\r\n") + send_message(m) + end + -- send last boundary + coroutine.yield("\r\n--" .. bd .. "--\r\n\r\n") + -- send epilogue + if mesgt.body.epilogue then + coroutine.yield(mesgt.body.epilogue) + coroutine.yield("\r\n") + end +end + +-- yield message body from a source +local function send_source(mesgt) + -- make sure we have a content-type + local headers = lower_headers(mesgt.headers or {}) + headers['content-type'] = headers['content-type'] or + 'text/plain; charset="iso-8859-1"' + send_headers(headers) + -- send body from source + while true do + local chunk, err = mesgt.body() + if err then coroutine.yield(nil, err) + elseif chunk then coroutine.yield(chunk) + else break end + end +end + +-- yield message body from a string +local function send_string(mesgt) + -- make sure we have a content-type + local headers = lower_headers(mesgt.headers or {}) + headers['content-type'] = headers['content-type'] or + 'text/plain; charset="iso-8859-1"' + send_headers(headers) + -- send body from string + coroutine.yield(mesgt.body) +end + +-- message source +function send_message(mesgt) + if base.type(mesgt.body) == "table" then send_multipart(mesgt) + elseif base.type(mesgt.body) == "function" then send_source(mesgt) + else send_string(mesgt) end +end + +-- set defaul headers +local function adjust_headers(mesgt) + local lower = lower_headers(mesgt.headers) + lower["date"] = lower["date"] or + os.date("!%a, %d %b %Y %H:%M:%S ") .. (mesgt.zone or _M.ZONE) + lower["x-mailer"] = lower["x-mailer"] or socket._VERSION + -- this can't be overriden + lower["mime-version"] = "1.0" + return lower +end + +function _M.message(mesgt) + mesgt.headers = adjust_headers(mesgt) + -- create and return message source + local co = coroutine.create(function() send_message(mesgt) end) + return function() + local ret, a, b = coroutine.resume(co) + if ret then return a, b + else return nil, a end + end +end + +--------------------------------------------------------------------------- +-- High level SMTP API +----------------------------------------------------------------------------- +_M.send = socket.protect(function(mailt) + local s = _M.open(mailt.server, mailt.port, mailt.create) + local ext = s:greet(mailt.domain) + s:auth(mailt.user, mailt.password, ext) + s:send(mailt) + s:quit() + return s:close() +end) + +return _M \ No newline at end of file diff --git a/socket/tp.lua b/socket/tp.lua new file mode 100644 index 0000000..cbeff56 --- /dev/null +++ b/socket/tp.lua @@ -0,0 +1,126 @@ +----------------------------------------------------------------------------- +-- Unified SMTP/FTP subsystem +-- LuaSocket toolkit. +-- Author: Diego Nehab +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module and import dependencies +----------------------------------------------------------------------------- +local base = _G +local string = require("string") +local socket = require("socket") +local ltn12 = require("ltn12") + +socket.tp = {} +local _M = socket.tp + +----------------------------------------------------------------------------- +-- Program constants +----------------------------------------------------------------------------- +_M.TIMEOUT = 60 + +----------------------------------------------------------------------------- +-- Implementation +----------------------------------------------------------------------------- +-- gets server reply (works for SMTP and FTP) +local function get_reply(c) + local code, current, sep + local line, err = c:receive() + local reply = line + if err then return nil, err end + code, sep = socket.skip(2, string.find(line, "^(%d%d%d)(.?)")) + if not code then return nil, "invalid server reply" end + if sep == "-" then -- reply is multiline + repeat + line, err = c:receive() + if err then return nil, err end + current, sep = socket.skip(2, string.find(line, "^(%d%d%d)(.?)")) + reply = reply .. "\n" .. line + -- reply ends with same code + until code == current and sep == " " + end + return code, reply +end + +-- metatable for sock object +local metat = { __index = {} } + +function metat.__index:check(ok) + local code, reply = get_reply(self.c) + if not code then return nil, reply end + if base.type(ok) ~= "function" then + if base.type(ok) == "table" then + for i, v in base.ipairs(ok) do + if string.find(code, v) then + return base.tonumber(code), reply + end + end + return nil, reply + else + if string.find(code, ok) then return base.tonumber(code), reply + else return nil, reply end + end + else return ok(base.tonumber(code), reply) end +end + +function metat.__index:command(cmd, arg) + cmd = string.upper(cmd) + if arg then + return self.c:send(cmd .. " " .. arg.. "\r\n") + else + return self.c:send(cmd .. "\r\n") + end +end + +function metat.__index:sink(snk, pat) + local chunk, err = c:receive(pat) + return snk(chunk, err) +end + +function metat.__index:send(data) + return self.c:send(data) +end + +function metat.__index:receive(pat) + return self.c:receive(pat) +end + +function metat.__index:getfd() + return self.c:getfd() +end + +function metat.__index:dirty() + return self.c:dirty() +end + +function metat.__index:getcontrol() + return self.c +end + +function metat.__index:source(source, step) + local sink = socket.sink("keep-open", self.c) + local ret, err = ltn12.pump.all(source, sink, step or ltn12.pump.step) + return ret, err +end + +-- closes the underlying c +function metat.__index:close() + self.c:close() + return 1 +end + +-- connect with server and return c object +function _M.connect(host, port, timeout, create) + local c, e = (create or socket.tcp)() + if not c then return nil, e end + c:settimeout(timeout or _M.TIMEOUT) + local r, e = c:connect(host, port) + if not r then + c:close() + return nil, e + end + return base.setmetatable({c = c}, metat) +end + +return _M \ No newline at end of file diff --git a/socket/url.lua b/socket/url.lua new file mode 100644 index 0000000..7809535 --- /dev/null +++ b/socket/url.lua @@ -0,0 +1,307 @@ +----------------------------------------------------------------------------- +-- URI parsing, composition and relative URL resolution +-- LuaSocket toolkit. +-- Author: Diego Nehab +----------------------------------------------------------------------------- + +----------------------------------------------------------------------------- +-- Declare module +----------------------------------------------------------------------------- +local string = require("string") +local base = _G +local table = require("table") +local socket = require("socket") + +socket.url = {} +local _M = socket.url + +----------------------------------------------------------------------------- +-- Module version +----------------------------------------------------------------------------- +_M._VERSION = "URL 1.0.3" + +----------------------------------------------------------------------------- +-- Encodes a string into its escaped hexadecimal representation +-- Input +-- s: binary string to be encoded +-- Returns +-- escaped representation of string binary +----------------------------------------------------------------------------- +function _M.escape(s) + return (string.gsub(s, "([^A-Za-z0-9_])", function(c) + return string.format("%%%02x", string.byte(c)) + end)) +end + +----------------------------------------------------------------------------- +-- Protects a path segment, to prevent it from interfering with the +-- url parsing. +-- Input +-- s: binary string to be encoded +-- Returns +-- escaped representation of string binary +----------------------------------------------------------------------------- +local function make_set(t) + local s = {} + for i,v in base.ipairs(t) do + s[t[i]] = 1 + end + return s +end + +-- these are allowed withing a path segment, along with alphanum +-- other characters must be escaped +local segment_set = make_set { + "-", "_", ".", "!", "~", "*", "'", "(", + ")", ":", "@", "&", "=", "+", "$", ",", +} + +local function protect_segment(s) + return string.gsub(s, "([^A-Za-z0-9_])", function (c) + if segment_set[c] then return c + else return string.format("%%%02x", string.byte(c)) end + end) +end + +----------------------------------------------------------------------------- +-- Encodes a string into its escaped hexadecimal representation +-- Input +-- s: binary string to be encoded +-- Returns +-- escaped representation of string binary +----------------------------------------------------------------------------- +function _M.unescape(s) + return (string.gsub(s, "%%(%x%x)", function(hex) + return string.char(base.tonumber(hex, 16)) + end)) +end + +----------------------------------------------------------------------------- +-- Builds a path from a base path and a relative path +-- Input +-- base_path +-- relative_path +-- Returns +-- corresponding absolute path +----------------------------------------------------------------------------- +local function absolute_path(base_path, relative_path) + if string.sub(relative_path, 1, 1) == "/" then return relative_path end + local path = string.gsub(base_path, "[^/]*$", "") + path = path .. relative_path + path = string.gsub(path, "([^/]*%./)", function (s) + if s ~= "./" then return s else return "" end + end) + path = string.gsub(path, "/%.$", "/") + local reduced + while reduced ~= path do + reduced = path + path = string.gsub(reduced, "([^/]*/%.%./)", function (s) + if s ~= "../../" then return "" else return s end + end) + end + path = string.gsub(reduced, "([^/]*/%.%.)$", function (s) + if s ~= "../.." then return "" else return s end + end) + return path +end + +----------------------------------------------------------------------------- +-- Parses a url and returns a table with all its parts according to RFC 2396 +-- The following grammar describes the names given to the URL parts +-- ::= :///;?# +-- ::= @: +-- ::= [:] +-- :: = {/} +-- Input +-- url: uniform resource locator of request +-- default: table with default values for each field +-- Returns +-- table with the following fields, where RFC naming conventions have +-- been preserved: +-- scheme, authority, userinfo, user, password, host, port, +-- path, params, query, fragment +-- Obs: +-- the leading '/' in {/} is considered part of +----------------------------------------------------------------------------- +function _M.parse(url, default) + -- initialize default parameters + local parsed = {} + for i,v in base.pairs(default or parsed) do parsed[i] = v end + -- empty url is parsed to nil + if not url or url == "" then return nil, "invalid url" end + -- remove whitespace + -- url = string.gsub(url, "%s", "") + -- get fragment + url = string.gsub(url, "#(.*)$", function(f) + parsed.fragment = f + return "" + end) + -- get scheme + url = string.gsub(url, "^([%w][%w%+%-%.]*)%:", + function(s) parsed.scheme = s; return "" end) + -- get authority + url = string.gsub(url, "^//([^/]*)", function(n) + parsed.authority = n + return "" + end) + -- get query string + url = string.gsub(url, "%?(.*)", function(q) + parsed.query = q + return "" + end) + -- get params + url = string.gsub(url, "%;(.*)", function(p) + parsed.params = p + return "" + end) + -- path is whatever was left + if url ~= "" then parsed.path = url end + local authority = parsed.authority + if not authority then return parsed end + authority = string.gsub(authority,"^([^@]*)@", + function(u) parsed.userinfo = u; return "" end) + authority = string.gsub(authority, ":([^:%]]*)$", + function(p) parsed.port = p; return "" end) + if authority ~= "" then + -- IPv6? + parsed.host = string.match(authority, "^%[(.+)%]$") or authority + end + local userinfo = parsed.userinfo + if not userinfo then return parsed end + userinfo = string.gsub(userinfo, ":([^:]*)$", + function(p) parsed.password = p; return "" end) + parsed.user = userinfo + return parsed +end + +----------------------------------------------------------------------------- +-- Rebuilds a parsed URL from its components. +-- Components are protected if any reserved or unallowed characters are found +-- Input +-- parsed: parsed URL, as returned by parse +-- Returns +-- a stringing with the corresponding URL +----------------------------------------------------------------------------- +function _M.build(parsed) + local ppath = _M.parse_path(parsed.path or "") + local url = _M.build_path(ppath) + if parsed.params then url = url .. ";" .. parsed.params end + if parsed.query then url = url .. "?" .. parsed.query end + local authority = parsed.authority + if parsed.host then + authority = parsed.host + if string.find(authority, ":") then -- IPv6? + authority = "[" .. authority .. "]" + end + if parsed.port then authority = authority .. ":" .. parsed.port end + local userinfo = parsed.userinfo + if parsed.user then + userinfo = parsed.user + if parsed.password then + userinfo = userinfo .. ":" .. parsed.password + end + end + if userinfo then authority = userinfo .. "@" .. authority end + end + if authority then url = "//" .. authority .. url end + if parsed.scheme then url = parsed.scheme .. ":" .. url end + if parsed.fragment then url = url .. "#" .. parsed.fragment end + -- url = string.gsub(url, "%s", "") + return url +end + +----------------------------------------------------------------------------- +-- Builds a absolute URL from a base and a relative URL according to RFC 2396 +-- Input +-- base_url +-- relative_url +-- Returns +-- corresponding absolute url +----------------------------------------------------------------------------- +function _M.absolute(base_url, relative_url) + if base.type(base_url) == "table" then + base_parsed = base_url + base_url = _M.build(base_parsed) + else + base_parsed = _M.parse(base_url) + end + local relative_parsed = _M.parse(relative_url) + if not base_parsed then return relative_url + elseif not relative_parsed then return base_url + elseif relative_parsed.scheme then return relative_url + else + relative_parsed.scheme = base_parsed.scheme + if not relative_parsed.authority then + relative_parsed.authority = base_parsed.authority + if not relative_parsed.path then + relative_parsed.path = base_parsed.path + if not relative_parsed.params then + relative_parsed.params = base_parsed.params + if not relative_parsed.query then + relative_parsed.query = base_parsed.query + end + end + else + relative_parsed.path = absolute_path(base_parsed.path or "", + relative_parsed.path) + end + end + return _M.build(relative_parsed) + end +end + +----------------------------------------------------------------------------- +-- Breaks a path into its segments, unescaping the segments +-- Input +-- path +-- Returns +-- segment: a table with one entry per segment +----------------------------------------------------------------------------- +function _M.parse_path(path) + local parsed = {} + path = path or "" + --path = string.gsub(path, "%s", "") + string.gsub(path, "([^/]+)", function (s) table.insert(parsed, s) end) + for i = 1, #parsed do + parsed[i] = _M.unescape(parsed[i]) + end + if string.sub(path, 1, 1) == "/" then parsed.is_absolute = 1 end + if string.sub(path, -1, -1) == "/" then parsed.is_directory = 1 end + return parsed +end + +----------------------------------------------------------------------------- +-- Builds a path component from its segments, escaping protected characters. +-- Input +-- parsed: path segments +-- unsafe: if true, segments are not protected before path is built +-- Returns +-- path: corresponding path stringing +----------------------------------------------------------------------------- +function _M.build_path(parsed, unsafe) + local path = "" + local n = #parsed + if unsafe then + for i = 1, n-1 do + path = path .. parsed[i] + path = path .. "/" + end + if n > 0 then + path = path .. parsed[n] + if parsed.is_directory then path = path .. "/" end + end + else + for i = 1, n-1 do + path = path .. protect_segment(parsed[i]) + path = path .. "/" + end + if n > 0 then + path = path .. protect_segment(parsed[n]) + if parsed.is_directory then path = path .. "/" end + end + end + if parsed.is_absolute then path = "/" .. path end + return path +end + +return _M diff --git a/ssl.dll b/ssl.dll new file mode 100644 index 0000000000000000000000000000000000000000..444c9c340213f3daf9fe082859826ce6b73aa16b GIT binary patch literal 1795584 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 c|E;Ug*1wli6 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%0Dnss&VQ&c= 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

8V^0Hs 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

DbJ(}9b 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

oje{t4o4!RJBfwL?RAhA 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

Zql_{hn4ImQ#U@ti-wIoLZk_<+24m7i4>+>a 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�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Μ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

;Fh za7@4Up>dhSBkMMtuFLeMAa^BR?wvh70;Zom^yP~G#<>f(t{9i_`=|rb_~Ztw@N=*W z6J#fH_J(|gh7`%We#KiKx9D)cwVTiHzOb!MVQ*!PsBarK7b~(eal`KZZl%X>ZR5E2 z-{^fMt9!U*oh#X;a4>-nG$^TP^P2nKm|G;_VNL^5rVeGGq_%DdkwEz_{?z!#W*|_8v2`;i=j6ha7(T z@00q^mk&Eyeb=abO~$S}ROPjNmBmoGSU$j;fc`G_sqQ zDXq}v#$~UynNqufvFn^^yC+V(Qt!i?$~)`MDAVWRCD+m$Uu@Y^sK>e!mHQ2t-Ah@y z&-h2hy5|&`qa4zN40zK-alJ!@qJIXiUDE5xlky424%9PKxrKTp#X!P)eBLGPHv7i^UOwNa|F2W{B5OCf#a8v$N;9fXoKbDwrXj7KEx2UrJbnEy zueWR%F=6b>f;Xefd$)ViZ&GjPh&?--t=sM7X}&)Ew+0?BpZixmlNgRaOLK6@*!-LG z=6!g4PK&=|YfRqYJ4-vjJ73F<)jrf+(<3qDw{7#=c1wSLzhm9(%6sc9__p+#d*J%L zLlS&ve(cxJb>H2cu@2?D>m_8&XtpPBmyz8!H0WFL;PvuvFfu??m^ zGfnUIrgp0X;aeSAu5wa)HcuJ4z_hQ`@Lj*B%{>(x{-5>msol_FgLXHXlGy*4L*V;@ zi%&M&cx20nSploJ8#h;(;H51nw3ncNT$eSxm1pj$qT?%;Y%$%b#Ea7v4sNn*2kBUq z1_|^p$Eu&ZzO_qYtvj=dYP5^)PAlTwbb)jHMb)zf+wR{C%J6-4EnWZ5!y_a1m{#eH zfsSo-mQ$7Wo1XNF`*lnG0>8a_wRUjdhbezv`$dv?cK3BlYF^3m85(%us*U~;|m$L^D~+_cNlZx*HLYrjjcYe+!U{6#jE45A-lH?y0R%D`S8c7Bafy9 zE>o_RX3#61VHN3M@AccOZt_m{tW z=Xtr>F5fxbX3Xt6zUSvt5w(YppIun!M?$$CY;bVSTTtbAv{}~lX}{i>`}d4{&UPt$ z`}XbU%cbtWBHpci()R4LMW?^0IjiNf4qMyKa~$34LGb87jT(5ZDR^;Mos@R+Bh|Kd zn^U`9Lh~!HUbk;Q@6p#`TU_pUcBpmd@}pvhh|8y6UQKkuZ3*o>Q{XV>05U~a$h-|*vu@!)<$lm0*@ zH81`oVP85O^t`aV>7@JXAMcDxn>KWZu5$jh$5d@eI?iQPswriDql#Oq=ZqA2odA*&VT^ms{<=5&315Mu3J9WFC81-@A zi)l+|-CZ-R=AH#DiWPsKD&ym&)xEw_r#>LfH!lfNr~UkrV!kTpJ>3eQvB_zay3W4f ze6L3qTK=v}u@?>6U3)p8>&B;+FZ+XsoG;jRVWEu=CT_T?oqclRQ01!Qt=|rB*d*ZE zYr|y2)W+8ft+}w}e8)cX^T|)P74j`1l($$>G1nq{n);bfHqJzSeHH4Ae@gvd9;9aO zEs^==w+l6=H*fH)+rQ3L-$#rZF;h{bZjU~T8+0D}Pp8A)o!2}ry+^TN;?<|U1|f}X zDq`xwq7}z`&HshmQaM=pMJY;Mc;Vstt7*z#dgDSt4tkPMto;!#{b5pA$rdie^q)T`S+iiT2Df|7pSZ|jPMS;OH*c?o z^xH0*H2R~b>$odV6ZZ`qsw(Tg|3&k#XVy{Su;r8U^%XOYI&WHUtrtO_5~|~O8k9LV z2t2zxVBUOp`M8-FVKh|0O@6pui z?YT-2+E0*k>&)qEr?0PZqfWs^g0SuEMdIpG5So7yF-5lFrpLdZJ3bz@qJ5p9ys;sj z-Z~E7CX2YT)}vn2lKrZNy{zc+zWi)gzZ1!_>^0f1Zo9ska--*`q93O<$X;@$Wkai+ zGS4dahb}Gmdj5R2%jfEoBo@{IcDa)m5cmAD}&?Zu$RU5w12p|_S(LAvNpf* zsJ!^px<@yX`p#_BD0xCnP z>XCkx0p^r2N}Uk$E;EcU?*HjO`DF9`JG+Oxn10>mOWpbUMR5=Bq@*q@-cMI-)8<88 zWc>=vecFGUhws3npU=I&UH<)^wL3fBI@sL;JfK+BXH;VA35m^2=Kc~!HvHdxIg=MrbO*vqtS^_6>T0_Qc`eY)G| zlZ}0Rg!U*7DRZ>P*ZV(|-O)DGw&rAcc)!DwM^P0nG?$=l$s?F%^ z-Q)faT1Is7hYD~RUaQC-_YY-jXFcd3e=mEm>(0NoYCHLr8+GI1p&GK;X0_4t&5ANk z=RITg7MCrq>ryAP!?VGsT)X{SZm3YF7mqy|>3!EIljX>N&*xv#3iP=4^4S|fA9l6R zKYn_-%TM}sDthkvp5;-8WRo8*dor_L?=!m_-{@E_%wch_gx6e-s^~=W+|D77 z?+=HT1o9L80f=oo$F!mE$ruB&v48j~xo zk6oHS@I~^_%vOsVC(o(f_2J{1#RYjB^pOkP^Uhqx4<3?-el*Uge(dt5AlVW2uiZaF zOWTkg@?@9Zqw2k*`^)Xa z1&6<>`eBfxbwmd)-!x+1tR*Gt%=}4tZ0dmbIOHkRqrB6WBdVii20Sj&u2F`ija$C2 zjxQe1j~Tk)Y`=NaOU9p>-nz*Hj~0z(XRGc=>N&4q*n;C{{nu6MQY6z{^QEMICT6GK zFH&kzjbP{@q5qUeHq>4vTCP4M_UZKg2i8q^?qV~Ztg>Y}$jS~G_qf-zsqOSPd%o}8 zYS^`cBM&btdA+xT?Ca;C-S_q{ox5_?@?KRs@9494-`xwY0mI8Uycw{gd+`r#EUS{P z8?U|Dt5nJ(-(a8p+6_Vicdo0K~C`q7-G6;AbEyIx)~;r)q<`E2^dq1SEF$N4oq zHnG^YAWo1R@^9WCbpCct4$n89yi~p9cjb4`yzbPl$-WaU{&+exu6*Ibf3-NSpPHU0 zWv1-N_BkW!oH-ZVq+k6%ha_}%zWsdjyUI%E)v}A5`j&6#7PzV=U&RDOp}E21mPB1<1T^KANAtNi4m z{W>*KZnBC^CryhY{ZD=l4kov4Lz?z8S9n?PRiig$CTkXz-?*bNL(Ba}BlXoCE7x}X=f-(Kp9$@gg|czK zR)WL&v`fkw@DnbFdh<3d9ky)HLvz95e+;X$^v_eZ{|erBtap7~RCyQAD`~C;^1f^s zIrFkZr4lY9?t7M4`Df}E*ZN%#Zq}(@9F^N<&?z(fV4qD7t5&MKRCXt0F$D_cs0laq zr`+^1@mYT*=3CwWE0;q)$7(Gzj`|I6S)tj0n3u!vs*cz0USn@`FXv(U(rfpvtl1%` zZexdIm%NHsn&UcV{Ku|NcYTcy`uXp9P_Ff~I~`*hhkBG$r(dn!F{hRF;p&DbQ`2jA z{nr0?|0?;bI5$@d{gBE@{Vo00T64Y{?SpsyA1b>;p5F0=4sYq0 zym--?k>%&Pv^+ZXYns2y+y#pV1a^8?yM=4B%mr`ree|w1X7knYHz$RSPFZ{XNyDeL zwnX(?IVatoom}M@7ay5jvrMI}WySN;U|{o-TxSYP}P+lF-gL3j3};A-){HERpiR>BV9q zKjCnY^?1=;H!f)Js;28k6z@5>TCuMMhuwBM99(DRKU+S&>$C5#9_8k2T)sT!S@nkN z)br7V<(0eh)|=(gBcsuTv5V^5b8Dx2_^8C~OWl)vA0CMK zW%;ZHy*g-~1YWpNH<35kS|?=DmEC>NpJyJ)TNV2&s&BV{Z{I)Kxoww0TW(b8{*Ta) zs2-^wwVJ+hQTvbQ=4Mv=tzdB5;~~B=)e7gP&vGqymPq~oQ@0MXYK!+Bem3`Um$oxf zoAnMz?0?R;;mg-o;{w#5rk`6`=kT)mQ~xv#Y?O4iSJd*b@YSxpOGkEh=o;AL< z9$NS_eYSMD@S87ZXzr|^u=MhT{ytutTrRY|d(PXd%7kkhx@4!1)AT9fAdC-cKT5Oy zybkZ17IR+_m{?q$x5R;_{Y%#<@!xv(XPV^ySerWJc~h)k^=hvsU#r)%?B>_!8g)sS z`t9%0&tD!-TzaC-jB=|6e_OG0?5B?IzusRJ7yXB!UYoDwI%Rw-wLGF&$bIi^M~n2& z{?@-Nqa z8bGZfw5zaRI-PTW9hpnJIygDiYQ0ez;jyUtjf^R&Z`=<5?s+Z3S9YXb-~4B57H$5` z>rh+yrsE;T*=H^~tKB`j&Lzdb{T%KUKRmF~p^(*U_HqP!IaLFK^A+_Imi`@zEV?!KYp!xS6j(ne{jYTe zc3m9swAhGZCHu6i^um-sZslXIHKBo{TUp${tq!X+z}f4%TvoHTA#`JjJL;>XT` z*^dJwYyFz%gT+J_Xr_Rq-b_aXvPKaRe(^Y46HJv$cprCZrYfsb3h?m242Z*OPh zJ86|OyTY?F#Y-0YHl=hytDNL23m9O1%AwbpkWR8Y_b%6)oWDz}zO%izoSf2oN=nG{rs0Fg>HO%B^%?sZ)n`KO|p+KMr~O7pvUWaqi?in zKTT#_q?)Bzb@kk~jm~}58yerd`0Kia=mwPOM3s5!lSS{!w4Z+N*Fxn_Q$|lg8^WeOTa@|Kne;rl0?_!mP#rsMyD>a-UmCGR?c7*!cb9;|@>SzExaz3v#o0uIKYc z&ufbPbk~iGU4F@u#J4*0IJ7EJH$5ah{m|yv6JnxvgJ9av5 zsySTHtWr5NCb`V( z%P-3IxLB=ei%PG1JyG_J9VxeFCJPTAy=AVhZp|Bs1H}1RkUKy4Zm8NR4h|ON4v$-% zkz6%P65r~~p?p*05v`k2$}78tmu&=}Y~Vr!?c{$VPnqd}qbYN!KTLeDb2#o)Z~Sp>+m79$n?s z;$E`iQ5!4dzdv@y{*jK|-^wqnEjwV>x<9rTQ1`tJK^(Sy>@u~+f!;~gE;an7=yrDa z&a*xHRckbx%UIB7!anogwlhQ}akS@F`R?ayyJp$SX!Wr}MmL87?Vb8Wx|V9%dP{-v zanWy;zAeVo8J3z+s(r@Fw9LE(UOl_?dg9trPoJ;%ZshXDtxu7KudD7K^jG!eqn+DN zOqup+Qo}xlru_T0bBf{p-M4$AZzlHZGt_ZN#KX$!3(vyS_qTlV?&bW%+GFnM_aCx^ zE?d@9JNM8swI-k3DhIiWhxmTG8B{-L(#xagV($b<%SHXD{vXpCU0)>hqpr2%>eT6* zMe%a`v2yvkIHb2<68Gs&jcL&{Et* zjs9ua@{JG5o)-v%^L}A&4c@thV>%OhcpU2+J3cXsr z_}aQX6~4Pte{ImJV92)P8;5?D%X-E=Kl1CJw@>sLx%`{Q&HA&VQXJ18YHC~~YdQVh zvB3lHwt6p97udGF!LuFjhvgfYFKJhi>=;FQjRhlajC5LE`gze3r+Qu;BP(%8-`;sh zmFI~|-VJN0_WgX?XN$|XZeLbDIl8u69$D9Gvmv#E?9e@9#p zii+(D`#H-jd+TOpH16a$qD%?5;Ss%N`XrR-mQ}lOCS%2d~^VcpU{65aMMf0zj_AAH(TeW&hyg9H`sL*4d99r{#+|OQ_(pW}=g9HS%VMJ!x36is zb+UY)pvEn$-haF4vQyWHO~3ao-F5UL|E#XwJ3OLm7nm~4@~fua{rp)q$`5Z|YwYX1 z>2dd;-gx6q; zZ*ML7__X@ms;dW8kmr`ZVxD^`j z-yp3}ho{F~4qwebv$==ASCfUIXNznMDtmKZNyXq(+Bbe5-UkfLn;lPowrGR=917{Ue_KA3l6`w2ij~uc#`0>zzO|Blfc4=DuxEY-$%#2A6 z4PScIT(Ly2=`mhaH(qesUAtVV;(NL_k6SkTruy`og0-t>A5E!v=WX$T4n0Fh4%`0f zj}FgASG#}U`9odfs!8>x@7Wiy_VW26_cqH#^n5 zF7>ucmabDDyx%XY(qYDs$-W+?N{201?0ho$@P)W;9d?~v#*jZCG&X+XRta)^ta3;K7t2sTsu=~U$_>bhU#uH^L(km)4 zd9|u@?{-fcg!EnBt8ka7*IDbPuWL5bqG77F z?gx_Az8GJqQI|kflkVrrY#Ki_VQ1$pqq+yy-5Vs!b1%K+f=~5kj+5luXwIAoiJc$3 z%roP!m3xKu`Y-t;@uhPAUiz%@)02$&D)Aq$ZD{7XYv1Si$cA-B^v-Ph@b2h=@0z>R zZCLgG_BSn;H1JD!_eMRSUcr71qT}{eZ#usI#-o0-WrH{0U4O05F^40P^mCO@xF>Rc zugCJ*%Gjax%emA_J#~KA+PO~cr(PQIw%_4B-{KeFYq0D@Ql)y+9RJv>D%>u#T>T4c z^VaWp^z>Y1t*m#=|GDGiHO#5>x@9%=w_8;6JRN&^y~!)7RpFxJ>#b_guge>c0yX|z z+V|k-Il;Hf23IkBeO78u-ww;8-<$TBj5QB#nG@j>y!n)gjCu)83n&KPUKf6p?!@q+*OdPrAP>*^W&Sp7U9=ea8JfMTakjR+uKfRF z?``1YoYMaByA;-}5r}J(Ecq`+q+F-}C!C&q>alb6w}U zu5+FDm;1iYIWYh5BZKaxzde0W<1gbfPW$%9#*CbEc76HJma=D$-C7a&>Xf;8-)B7X zuHFB~ca}YK?eY<0EB^8EYl}8*9l2}eK964Z=KYVqa_(ubjGLQ3;g|Ctd*Ja8$9(+h zQ^!1)mFIryhSw%lm7cqE%AekQ{$JPaoPFqU@8K^!x72xH`ZrgURvcdX;)H>9*Cpt; zc;)nSZhypk=RaDH7s9l|AGp_! z^y>o`WKREc{dvDR`s3MoIp@|r`RIq!JI5G@-@EPmGg4oAIwAgE)03vk=dH8mm{XrD ze(d8JO=rD1pv(W$m9O9V zk)JG|M&I>=w`NHPHvJow%r=RLOnG3(yCYi#S`hc3Q&j&b0`eYU%Q z^QQ}5n7Q(xp)(p%2EVq~18vVeecKhq4~@C_z^nX!d*Z5}_Pg|s^G|VQZT@=T+7~}K z`n9xUwR_q0M@mO@=PjG?*l$1HXX~4Hj$bkCj+4HwdVAUW>3dxJ{!6Q}9=quGKf4O| zKYWz0yY_YGuG{X+I{&d}PhPZQ&h1~G`}g8c-#_o=e-C}iv2EM2U71t=GW(vtUHs4| zb2dM4#HCLk-e~^x+?t99zrNzy*WWIwdThwpe{V1MeSFhi#Xns&Hf`AK*+(tC>iqp@ zU9e})u`}EU^^)F)j~o#UtQ(km*Xvo2KCtM#KRHfZF=>yl2KxQFzWk^8)k}Q6<*)0! zQ*XKNuBX->w&mFO@0@ehek)dqa5H+(u_vx*srV*5<@Cwx z7k@kQ!`1ESkKexccMrVUFy$Y|oquD?y$5{#7x%%Vm;C$H*~i_x>-k-W9JcCgPwAG< zdnV+pNZFKn?_PCPZ|!~Rt-~L9v+?w|rbf@ZX3iPs9QpEzE53X5wv#r>0C`emP2GA@7k;g{YV_Lu6L zUJg%AS^V31HySs-P&@1XS8qM;i`!eiNIQSmg!BtuxG?RW%K7D4`QJBX+&=NL$`dd7 zWYS{ix?>9eyy}$?E}!|+2*=vYoR|N)y86lVZ_Ye@ZEDu7gUA2~qksG1v@_>dPukw`*Jtj2z3J$GeK+VI#^^hKb7-6K=QCCudH((nZT+y| z6i@zHXS_Uj%cWzg?|&wkn`3# z<{bXuTj!^o`Q8VQT>SeBZo1p3)Ajeisyue1&+f{zd)XhK{3&nL&yNL1wtiN-{I8!L z^^c)LUMV=gr0F`>-0de#z4Q22e?Dg5b^h!hoyLXVz4x*6xm5Rh|B|Vfj2w2`X(JcT zI>|TewTc6pE$CeP>?q#Ho>r_fJ}L{XI+X z`pc>;-#>2u&htrV??(>1=h)x>+&bmGGu(6EzV?R)_PcH4)h7g&ulx9qMHz=YHX^fQ z|A`0PbpM{Oef91&M=gK)Z$~Y9=kV{|`{<%O$7BRw|Ed0um#zDF^`l1^J0G63oAmd) zJWSO-u>8UM=J5tW_T^Du;lHGP_46$^|KY66d8gkp_jUiEyS~5fk{=Gb_sXk3c=D;7 zd8>w9GwJ#J#~pdd`G~*~Rk2?lUe>>-x4lE$2 zEg2!UvAQ1^;dmBsyMjlxk8nH(IBls6&jZYt*xGII^W<-m;Q@sI8Sq9M`~u)`vkYH_ z@D~A(JV(MEfHwl(px|wQUjp1(FT))Vj&QsTxal_%o&oq3z?DG>`v7kOyf!4^R>0R| z(z+!e;U@v#0Jwaygu4OX2-wkJ!8ZZksNj(gjd0uyxGf^X3Eu*^DQdxg0PJcU;b^~U zh$9=}uOfcqTp1n!{2JgE8~i%M&y(S+5Z(#6RlyyA-vDg3$nb4|-vr#Q;872caJ&UL z`+OOm2Y55!P6dYnzYVzc0vS&DFMwUYlkjT5?*JaT+=90N?pE+7gue@T!-X<@2jKSr zw_Rkx?-RaQ!shxBj;(;Vt+3z^0OwyS;X;Ie2smY>1+N3#b-9F_5Pl!v6<1jB{eUyB zwBQE-Z&7d?=-UA|waV~~fFC6NRTlgZ;B7Ye5x{L%%kXZ{KMJ_~8VQelWQ5}}@~^Vs z4S-XwwctMj?ox0z=${0<@%J*k7VuMquaj^q;HLo_*GqT<;Aa45+#umDz#jo#aifG& z9v$K60&FkukI8SVFP{Lm=hvrz?d|h3!1ng^IpF+dQho;He*t)dg3AGa3D{mAwgI-+ zhp)*0Tgl%7`fmX5RQj$3{4L;?n`F587}^&$zs#E@ybACQfY;jK8v$qBBEvfneiPtM z8+IOc7)#oIIYcs{{Xm4!6P?}aI^t#zg314z7=rGZ4%A{d>i50E%- z_!{!xVZnC*?z&ULHzE8^z~QwPyowL0?~(9Egu9)&b0(a|(|F}UJ|P@sYkEywLoLom z4>#1|GILxY8Svqp8qoHGEE(OTX+6ayqnn!13tciDlMyG;ae9)ZB#9eGY9)!gsK8x1 zp{LNK#7W51QS@=yX!Ifzr^fYEpch(P%iRktE^?VVDT&57Vy!0!`VNvO6lyZcBy_ln zyQjq7qE`pcnD(6LnP0eJT!^f~^;Hec_Ij7B{3pvih$BuSGZ~px2FV0ZO{PWC`k$1t zmomc@=sgpcMBnL2$okY5_oMd|jAq_bwl1=`EVE?C*8^Oy-cxKZX~W5W{iem$>pf|c z)UTxZm5lBLdEY}^qLR@~?_a!=GGu49J9$YnGfBLYPLM5cck(7@$o9Wmx+zKWI!U~f zr}i%$IAyM9c_bSWl2ivH8C|lDCJ9}#?mLORq+P8scu;{0N2^W1@$eJmUGb{&9y8h0 zW7w1_J<>IP@Svhl)Wn6@QEwFvz~dph;^=P#oZ85H5kf%`fP3!zL2-n<82pYxa}uWa zcr#=1PWvy8w`6v%Ib|w(+xQ_mY5w&>o2*MWlG7&7?_Ow=j&I3nad(#}4*LjzGcA** zE$L9$3oVWYOClF%>cwYQvH=JsIx8LBjBwG5N_U!c(WMC(-4)!qif(SYq=PHy=B7)! zx#^P5#ar7z?^1^=TW6E`t1JA~9#Mommn?Q>nZ)A=NMPl=@>tWJY=z_Mkm^Mh;x~@3 zsxDLk>j~6V0dInL0Ooe1o*3cie0+$*wJycc0@u7R#nB4uxmyN#OUyqwI&8o(l8gbu&yaT~ZMBCCPbc{qiAc2lpS{fCIk1j0@rr&n@U`16> zr3mxviIXO0PMLbbwCOpsa`T+x-T^CLsst@+Q;_GpasM;55jJBwehq`~y;!u~NN{2W ze`2x|!#q-qvB$tYpwoZ;*MxWn7~H+5aTtz)j)BJVLySWVN4CQRoXi-5@aGT~JpX}_ zWvSx)kN73;9!c}uzWXCLeg+H}uuIro19$CVRGgNYF)dJTRFtJ=WYUGOiqwor<#Yk` z$ZMQy>2E@z!5jmd1$#6s-?KB1Hx0ZgY#a|e&NPe@Va=JQ!NcSBf;Bq$V;NTD)~Dop z=1BPY8V{~*F<1`Q!9D`J8TNbF{ZZ*MV2gC+1CCxB2*@&2kaj36W%J!>%BLlcF7bQ@ zN|*0;+FiR}hn<4sR%iRGjCo$%eHm_m+iaZD7=#VrUWkRb%Oh+QS4WMa&=MohUv1>L ziza$X3+6c?8@cO4w)U`0Z!$b_4C|5qQ7r1%XUv&bieMu(Vx~^=nIzAO{iKdR4rpI$ zq?d3NHp}ZXDb8Ht4K(@=%I}eI@CC z1U)Q3VOsFJReFs%pgjlH1Wfvt-O%3(U2cZWQ1oq}?||)s1xlC}{A&5Pf%X>IY~Y0c z(4#MXDiVxUmi{H-ig2tyLm9@dN;8j6jT~(@1|yB(aHt{b_n~3A#BHCvH^*Kdc=JF7 ze>{Ok*&g?WUVP`s1sjHKf$e~0BVqfq;=`g9S_eN#z^4MXUJfsrQ&GLgJwyk6AmOiHj zH%#l*IL>TOkS}vD;EhDf!Z>v`COA1=5L4@Tx`;neBQnbGv+Iicx|8A)l4Rl*s5)_m zb$lHO@b*hxY_=@0*A-D4o6Tq~b#B1n;Bj;|Kt^IlLm@K|3gX>IdsqXmt6qfisSAoC zG;?#}<%GS_S~K7eE`%d49^?JGD4(WkzuyNwTT8Vwn&HLy&S4#VSQ>GBKWX8HIsG}G9=fUEb4le;5h8Fv`>cs1iX zxV}rbPaScU9af?NtDB%)8Y$bBbuv%Afk0@f-#5+-2mIcM-^9gzqV{^jV8C2hw7!6M zVXQ7`^yBhbbi{A$6gExW?W<<6`AY7Gwmyn6Fq3F@jngtgCOV7tNyH+a&yKXt4nlZ6VA= z3fX4d7-n_%aqT!E4l~+}On|Ysb&=Py%Sa@TGzX(z&SCqa*F?-^Q457EsiPWN4Hs)? zVJO70+>Koizd0)_t`Z+_-R zu&`BkXcV}5B8x(3QI9ZRnEYP{`Mxs?uUcIQonZ*?j`Os z%*p|Ifu)s~mI$LjjUo0(;_4gfZ4|v0^RA%BObLTiXi;NWO{{Wl<3?$N7c(+8BDCNJ z|Kdi@D8^weA4NlxQx9>WG;+N$h*3oLKYEN1Icha7#9f^0cEvY@pd8GShOv>zu}SbX z1{VcGOXb7_^meeXc_K)K!Sp%K%m5@_npfCmsRudQrwzekTOtO+`DFl}wc2o8pA6ju z+$BR5m0TmVpElfKygw+$Yl3bh=(?`5=+c1OuIb>X;hME_;z5q=PX;+IfqwvO2JC3? znuwP;>YYiv!d(mhp0Lwk*Faw9=Yz!F2o>7!@(2gl!) zaZgBmm@_wy)X2*>T{$JVe7w|I;)X2jxo1u?SQ+HYS6l%KVsk_Dhq&2j-7S>^nBbqTJH^7L3*O#4=(WsFrZo?xNpI}FJ}vow;|Xk zcd=*%rAsTyJKv8r(?3jWE?AAA3nF09{i}-NHt7AyW;SycJj-s;|e2 z5BVUkYOq3ZUsxbe7slL9ZP>;Hij8?2A#WD7fw+&g&<+~23X0=kQRX&`s1Nfe+c2_T zU;{Z8C%Q>rs9sNR7y5&KBnOMsJly4^rUMo+%1i8hU~{%UY@spJN7-7i=<{MR7)Duv z6*e1>F)WC8U&Vp)?jIX(ZmC6`<6cmdYk>x?X0<^WgG-A`oHh*i#BHLmjtl#_a6-8S zv3M{r6UXd+NmVmj9`KP+^&(yjT^Fjx)x8qH!zr=G2#EP4=0(-j{xE1xbLSuz8lsJ1 z+=~dYzPbjZrorzeG30Xa6}0T@2fM}^3 zb&Yx<1#8plU^GBiA*}X?z5XKBKiLP+gW4ou=X{s&%qp8L+~QfM2$yX{(4k+TE9#Hn zz#bR&~)<1e=y_1CGL6sALvuI8MW)#AYIv`wGMv_+6cj-spz=^GFYI2*z zz|1AW7AKJ*PDhLyFP0B*>p5$xwl*2CP~xJ=Yt}Rd#oe!FbEwh8?a++@pO{*c0DNI@ zBqHc|-z;a@C>$*Iv3|gBkgF{jc~5!KTI?|_#j?m(7vcU5BE#|`R3ApWPiM1$3@i#b z^dlbB3EeLUgw@|8f(lsl^hG&_fz+qr$`-M{qUstzRf>dy5)vw5rxJV4S*a2Ek0=b_ zvr+?1c5BSwrMf5C_pN-j6~5ZozS)cpIj)jFW?EuCu}{hUZwr&$*YeXrj$|R6d(i4V z^kg)4T>0iC`Y0K{M$XO%<}pbO$9v90`m4{tXmUA}!TCae<%mm(J)BY4%Yvhf+<#mW z<`W{ctD*&QgRXt7b{6H9EO3=N^WrG%^1}Z53Rq7V^Kv21un*W)ony_E;TA4h%kCf&D5U>({ipWkI)H%L6c zYlYhli>xtRtAV?IkfR-z@E{bz*0&{n=M9p+@}@zKwwnhzI%#hi*NBr(%^@>fTj(od2E=_l3uP_NGMQzUwF&%B&+&%8X3yWn&u@+e*= zb;ra7LVJ;^u1Pzo3Z3a9DR$;ebE3IynJMB-9zJb1;S;AOiI2MG7P#`AC7#^Ua!=h7 zkK7_mLqublm^AdkV|8XS!OYH{dRK`|??H?*W#%WLx92^@3d(-a)!?P90A&`2@X&`7 zd|X1@fXNbPdJ$|hVYI=pkC_CX5`)Z^_oAIwHG2?@yvLS5o;jsfvj=Y)4<9B8LZ+B9 zBGnnVE)4;OuM3;eeU1zaSk$;RXPUO&|E>R+0z(v(gC*Fs{RT z=mf%8Ck{SsbUAYzqhb7`-XGz}wyo_`fMeM^Y-PU+I_yaXn31q);IWtGG{9VcGn{3= z9rW~TlZSA<15KPL7iW2?v&dagT!cBGZBsfv%xz1X7h87Kco6}=o~7QNV~{OemB%=h zP%D3`qZQRrkKAjOM2TUMYB{(i;xUaE42k$aXraJ!Jyjj3!#*qK(~*Goiggwj2ACES zuf0YQ=Iqs8tVPMFu)&B$;hr!L53a@Dw%CIga{xI7FjN>irjzzfc+YFJFJy=?2ndAu2?eJ!{;>2Kr4)^$O`_% z#&#==npW_~Qyq}yhbZGZg0@fM+ZgM!-ml@F5e?hbdeF7bwf2mfKCtRIEANvCw|6j` zv|LrQDR(PyY$uwIZDV@^E)6)nf5z%a_D;m5+Yk4zeqmfTlk({ZN5(;e9a>+~I)Jn9 zan1P9>VK(A8p4z9;}OSrDI*g!Eqf1*#ZA6E;7k=4ib&**DfA*c zHa(&VGP)7o3Ob!f#%ItAdzi#AKSbUGM?DDBY)FtXiaa)x1~{Cc$28!mo6e745@Zx2 ze1($1I4c2nf}S|7TL8GO;e!QE>$XhMY2C8Bta{AyU5RidRya2SX5G>_#y_ z&x34xT1x@9s(PTyumZStg=3j9uYJHVuXUadM1P>iTQLVfILKl~@3ZTCrVdS@seEE+ zOhyG{=sLkTS`g0eTfE1S6IjS+)3x<-ubG=691k$>pHq}mT2_L|KNm4JGPQ5bSyDbi z^gi}nf3pN7zt~95Gw_Ink59079b6djm*9a3hL6}FACa`hMNaHNla`^O1~mawa3QwH zbeN4(=?O;clovBYqE!(U0ryG7E64%2PNz%J(e;KTjbr^=jXd^O7!?T*B*nPIq7ZS2HpIO#nXUY76 zTxVf%u5C^scafePaf2 z`M`CLw&o&Rkaj*F?0{Pdw-n)U;*Czb!tO4eI$t+`Df`_g;Z}mzmqd10$+nLbdVWb9 zWihX#;N`PN;`CUtf;csPu>3eatWr3wL&i2aE{%lCvRIQuht?!IthdFdb?C6+v<{mT zPRF+%@lcnW;4+`KAlwHR&kH@+gT(q<_F!D6pt}?AMlOcys}E0v19!1->lW9C35%~B z!~@U>Ww;vZmf+nS_M$?jOT3OLLG0Z}7R~Vo?L(Cj@dl!WXzNjoQ&GGx7VtOBmS15i zo!oAZ*xPi=ac(yD${DYcCBU#-yh$VcOh<8!)1{fLw#lan6~0Mzo-p@jTn(Y>bPg<8 zSkvnLR>;kB&P^}C<6NMPbedUCJj^hq-&vGrYCI~Xlg|!JK0V>n1v6aRfLE2kXvL}b zX|danIPLLR@tc|BQX{P5R@`Q4gzW?GD3=q@b+-M%FL9+MWp3^e+nxuD=P~9nCzzZX zAV~Duc+Q43J6=)6W7vgRreO|3A24WN5g%Om$MsAnLPgqDdM6miF-jw&2{y^M3Kq_u zcG1@&v(XJB?diFrzW!wDp(hJLMwfC&XG=Kt+oF6eX?Q!sFLw518;em0&tOMor8NhR z53}na%A8MnVh=+2%nmDe51-+Z&nhcouumPV@zjTW&=_?LLuJ4}(@0I9#wLRI^c(z9 zJPiiQD0X2-#9b(cD28bmn}>CrbK%W3ypc3BhR-b)uL~FxK&x~ZUkw$oD~Lb49&$%4 zQV|l{RS{^y{)OX$?)X~5gB@+K9k4(Pla1d>;lua^mv*#*yFq6zMxMbcl#vZj2W%T~ ze1D(vwcP`qM@wX|BfC-3uRxf2KgQQ}*pmkyp!f!WeTwGUQ}JXh>76GX^mZP6f+FIn zjP}mMV_tO}@EQXYPq)$|nQpD1vB#rzb1dyWo~wG{aW(bM!*4gJ8#9FN9tWTdng=@^ z%M=fl(B>S8<2yV=Yo0w7kNMl)dGJ^-j%T3aF@DoKj|m>F8@$E<#S>O~tVp68`yBFc z{MYGe-%Wb>y$VHX9;SypeWizu-_FDIkf*Qo9Hn$(JTy!XdHPDv)v8Prb;~}t_k6pi z7arGnz4M&%!ENK3w;i?DkI+l!A9XyyvA@tUqa_J131F=LM?7=#`23N{?0h&UVjk%R zOSxUYL)}^~Wu>rFNHAW&}bD2#xoF#w*Yor zj`f4WjZw079?Vrdl~?x8la|0!sCdGyz4IIk8hd&Q6pzsd&z*{geEm&Nm7--m=r2!V zJ#46+B*ws=&&%x3KIMbY+mWZtJ8k!Xr~N9F?bR|bM8P54Zj$k|+=gA3T?; zJ`LhUn%G`hKH*iprzaT?w9eRAgX@V>tsBPr>}awPSrP^p8nM9WIT+guX=r7LOlJc z*U5MoPha(VrK)c_J^iWI$#@t~U-kORUgGJijwa(_Jbm$8s_L~)Pk-ulG9Jd$SG_(@ z#lt$yy|yL8GmO^XW4?GD*2);~JCI&&%sb>*k&LJ1?!I|0u(i|v#*>U^ckx_k%eVf< zlZ;mwA+8%eU5hBrX|`d2io5SF3ok5l4UHNyf9gcv@6E zx*jY=J*d0^ZTm*4y9@1DoA5e`OU7e9&^OQTR6OjjSw8)VCmGM~;1aJm#<9Ip3xm*N*+sZMjXi{_WVlPOKz{Bzu@jTNz&sdvoAQy3xC)@|m1jVE0b^S?ChSE**^d~(N6LiqcK<^d~)26L$3I9U4N1|pG~*^^7w7K^_QnIK{w7DGG4*_^fjqR z*fu|LY?3%{f^PlcsY=kTKRiA9WSq6YPWf-hFVSx+?2AMG5*?5TH zejRz*`r!FDcywiI;KP2$5U6H4y51yTgJkXCkm0Nm`=bydsboUX@pU~0S z)5E&Ucsk$hJ)UmFgCxZEY5J4b-`jY=+ONFEk!C_S-G}ujuYXM7=}%t&l*psmVV{6p>#7r&v^Qi*Z)v?pn3X}*FPun zAgwopa(^p=N8dE1`W|9x5gYs%jV{*m`lju&$$ec!Z;*`k( zKQUvHptJHT(h#nI?ePwserF~Wtwr8h^tSf`)n|{kFnmW>&#x}=?S@!F*!jeHr1A}% z#OJMH`>P>#9-cWT!fN=DBn-cmp?PV)_ij6?_PNaGU#PmQW$UOn#_my+a_PcN(LIJd zedmb>-gxw>r=&DrkvZ^#zg>IC!>?xL9+q+Z;QH@8!%rywcuIZ!sn0n-yYP`ERcD?1 z!j8gOU)`BC)s#}L-~UqiCw#ML$gYYWML}B4 zsoTGBpKrx1egD74|JfNcpEH(ixV8G3y;i@MKXp{uTQ}5=IC<^AM!)X)o&U^Zw%&f< z??+XAKi|Bt-B_V}r< zo%rc3OUI2IcF~?Uj``hf+xNNc%18cuW_PHtA0K?$Io>k^O9!p!c;emJpQLUHrv6D;D42c53l%X{1v|pKl169?@U{^U{2AZjx(=+ z==a5Kt$(`hm=kZk=+ra5{N_mS*zjwgyz{_@!#-GYR5*WB=iXP1dAt4eyRTXQ*VUI_ z`N6Xn?Rso$>zy4}&f78NrOdr2UjM)4|3A3=_gH@Q)Ia^a{>^3KW1ro;^`XjRXMgxo z;}J_{K5@cRJ9n+x`@UP;!#;n1+Ju~p0r$6`?f#~9%$A7=yfF9b?cJ09 zde9pUhwr)Lf_GjEM*sce+h>I*%w9e8f=AY7Pi!4B>XrpxzI5KxFK+w(n7hw8cj~4U zPw#iQ^RZp!r~i5G=6xPIKBx4aO;^^R`%M1FTZV5s>&^XIPUyPpx`V#`?#55k_P+J) z%O3mldrN+B-81vjBcJL1`jAZz-hSZQ74OY|Y5Vx^em`m2dE4Fz&KOub@T4niPR_6V z_JC*7&lnPo{^g5RKOIrODSPz)*8l&l|Nmp_|I_;~h~9p6=zxEJ{@Jvp%O1UZ(nl+| zJpFuUJv`j_RGzI*i1;|H$UbJ;!zetp{7LyzfxF*EXuFYwolMRQ-- zc+rI4UHHMzH_tuqwvLOpHP=qw^P4k1$lCk(89zLHThpEO#~rxyT88DXp`2 ze0}jBuFf8mds+Udz&k5$Fvh?A?X=@xI%MBFf7v5A=i2hm=FDIE)jhXlxIS4jf7M4D zkDR})MN7h(2y@hO954`ZOw zeb=E5i;wTd%JtYnwH~v=T&jul^`#{1cgGP2V`VGfRkg6vH}FUq#{Jtw zGhBrom>2+fvmQ4BPAR1`oh}2(#mtkrv;8 zk&tbrLe)df$Z%}G#Y}4g{mKM-5e{m59Gba}yfAioI&3|{#2pLHqOy6;5*!PeC+}RC zRZ!}2mzLmbQ3;oo&Yot6@ljY&Y0j)d96%|EAW+`bFmg2Ps3*-~^+*IQ;wqcY!TNA-}AsU_Oqcv?MA$X3cZO#ldsXw2nC7&Y4>(y-ya-ABEr4i*`;C2<};G5#|Qus^2UR<(3MId-*6&Dveb8r%h&Ib!2!e=MI z#kr+Uox`3Yal1>L4j!qP!j&pe>S^cI@$smeInENsPh&6Zo#-cC;x;7~><~=3c_cw-sSX>SS&vmMIUMsoX>)OwZ{G zf4U+dEbxlJ8Y9GaU`_Z~D>^k(4ic$n^R@_lV|R9=bOENqo4^wVrw8Xds*!~pHp50} zF97CnqBRq6swZL^$x0D?Z$=bOHasozS%mV+j*EecD4Bk^-9hL#&g2J;GY#>hu$M!x#%8P*e%HmGG!+ux8D{_WYapKyn??6+#)o_~UZG<(u_ z^}g2M1^f2z&lcmJSM6*4oxgAY{xpBKVIpg-Je7AXMQZD6_|2k)m){Y3&qKkdIS9P}9*Je3uqvuL=d6_ivGlt(ia&yL)%>y3&#`DXyPc%AGtCk)g z`DgPBWhdOR#M3%*@ce6EJI(#w2Njd0M-FQk0l zE#Cc){TvxT?dPb3ZH0C01pMlL4)eABaNf%hM+RI+=YEbbY#VGRY{nZ1gKd2i_ATIV zu)Y7BM7=&Nw7koDh(jK5-g8|1^e2wbK4VjOew7+aoEhz?$yTMcaLlz@-l zv-@VIrsMvr+Q7_I9FB|MOgKsKIJDR#UR~u<7cm#&$WVUkjoUfDd?nOTxnS1g8;*H$UA&M=HKfyX!B;=FuLrqbb{_0<*e>V~ zM@_JV&sYgM2V~1hm%P&;roYNp&NKD7Qj|w@H{xM_ZGpQ2ZY$(i=Khog?#;5j+6?x-{Tt$Lx(-V0YZdwA~)Y6lO}^+xM(4mJ8i zj6b>R97Fou>g+;&<{+;Fp$^6Jnj{{z#G?(x**iGOfG7FjP@otr4tFAbsXIp>b7*Ua z)J2|Q9Bq*A>5|rNI>%$oK|5(xNVXlGPib#E`RVa(XA5{Pu?hJMa68U#BaZn_89NkC zm&3{g8O8)z9uz}*2jEtmoyRiLGDZ;x-H2oTCfzt2j^#?+G~ir_pJ^aWn-3h%nIrFB z3RezXn~H;bAf&6c$z#1FZaHu~kB+=43fBr8^GUa}PNZiL!e~g-hH&y~(+-$t0TSli zu?_j5!{~M(Jc^mW2iK|S+p{9D;q)Ga0EZ=xvky`=2@lBZ-89DNf8N`7weH5;s@QwHT>ReVtzVVI0 zI$n@gqV78?h+V-2-a40-ggE^RdDcFzYvDOjYHSrp!ZM9GHwFi*2N(yZOL5_Dz&yK> zCL_hVzeHlwc8|-jjeYw?(@N zu!(qy)Ag}S;k1lOz`8y#jvaujaGVUqsB4=z&hg5oSlZoXvr0>xPV0Usx4a&T8Km!p zvY~M9JdXFlK_r+1Z`$ffV20-aOcKSiF@<8YKo7S_?n zMR4a(mXYckum2}#4=_e*IqvjvnX2fsW~l3zIIT$H6Hi76#$AL7s zBTnQIH+OjE&;lF=*NiGsE{Ix$2@&q~2BAvwPdfcgSIxT5{?e%yw zVANmMUF>Ou|flk6Xblw4Y9Bw`k}h02=_(`d=V8C5p+1TSKQy1 zTN|pYMge1X$fM?r247uVINJc~VVx8v>ZCYjDOtVtM(V^mQPf}50utslMnl0+eW)>F zy5-e2IMS{PcZfl5iMZ4T_hyAK!Uj#NM?+u^T2)D20q%s5so)vAG-h_+b*L?Os3W5n z8rC5bWhW(Bb%;2f?`@g!`JOU0z7CB9oG2p=xUQ3}I`mnBjA;onlGUL?&~)2mq)my} zqtYgW`iB8?JhZ2!g)~UJPD>y`Mk~T~y(M28WvIO3c-RhlEl-DAXHt!~omn+L%Ue~A zbET|%wlNCIu}oG!)Jd;|T@C)4x+V)&;W2t$VG&`B$8Xiu7@ex9O6qKHeO-Y4R9#rb ztHNXSibBG(csxI=oRQkZQ=(WmaVl7oVVsfbd9O-RJga}~PBg1)p7x95m+@y)dP3O8$x%bb^2 zD&+x}9`IKAc}2>6R}p!%3T~+b=(4aj6)gi=W2i{l-!rec5E2Q3-XcNL%}l2#h0}hk zO{=vcPkF16_igDpK3I&kC!!DJd5EgEuuiQ@z;WztS2$fCx1A6_zOP3(<_^%wt+Vh+M!rJu+55@$kZYf-l_Ff{ zOIp^!4*finYtZG4(-v#ud78|VO3<|0(#|+*forqjn8%!3+V!Q_FzA?{Iy<=*Zc;dS zg<%}4fD`#;!>t7_+ZG4uo&>HF@^sZ{Lwa;tsaGe$cbA?n&`?i3?vrmja2be8kNZr| zPT=hMx)X6x2O6er;LP~)N_O_?aM18PRGt4m)LpGR;~k0cMH6waEFJM)e4rBJon7E8%;Qo8^GJE;qtp+3a`T;%9--p8 zPtf36O|kZ_4%K*haR^YjPs@I5k3JWelT)8Z^T~6BWA{~wF+k$#>g9E`f#%#CA#1K( z8d4BDh||t3@1>9ja$@fqTc*4skT+8x9YQDE4#>l$;kWu#xo^(iRcufp%x?Nqw%I64 zd)baYIlg{SUe|Kjhv@pS0X%Gv%i&IgyMlWOsy(uvZOyB-?2Q+*mrbVC5#pmrURPFFI^M+|1K9 zn-01rECe3)MqFmXdL?f)vDXj1pK8?*-G5L|!-=xym;|GW&uB%yvTQ5i5`PfvRZIX3 zc~Z!Oeu(eS*zpeFvsVmt@ckG&ekAafz_ZNk_|d?Jfj=YxKLhv{;Q79cojxD9&@yeLnU*ch8`(3Wg zs|w)S5a;EJkJ(s=J6d^X#%1ucp0OQp-?Q@vYkXj2wcs@q(gw7VZM!d)FpbtnLUOLK z9Q+O&KjU7lbkzEY@ejDxzgqKt#@(*yv^=JzgYr=BT5smdCdI4UOInWH_jSNE5xxcC zaAGEL-R z9nR_75Wfziy9wds-CrRS={pnXw}M{n_j3Q1NBP6$J~3T=^R7?fFd5+mKNgxibqjG3 z1fwIpxY`I)AY4#~>#ri>`6c#g#9T%0K8pjw<$a;z;tITc1|#oR7SeI6Qk}TpQ%V-s zC>!2JoZIY;Mmbqhctj?{=+Rm<1}#c)C#j61L_c4VxB|Dk40q7w6yeT1O!zQ+#1(FJ zVO|3zZfV7yDP@Y>z%xJIql~-A=Hqq(mlN|(e=~2?W8`A;Mn7>;B&9w!p6WRu2&SLO<4b8crh zZ0l_Q?0;xj|9x{%rxcErs~dI1UjM@gC!ID9_NS^JW1Y+-zs)QI9GiCnFP?ej6wcvG z0+wH>ALB}P=bCO0y02UTxpuua0T%M)lvT*m;RLc*#*gJ}C%T^!#Q34&iT9ij2W~6U z$a~IppCrbjeAyPYKHZ3)`LYEr`VpAT z=PUcJwSYA}-3@@lw)9X&2XMNMkcN4mn4Ub)=rt+@ZUT%|7cTYX&M@}wou%&F9GBDM zcFoPn#Tq5N$Xg9O`juE)w9{~J$Xd7P{UFg@iKR=AFnlpwSEDXb1#hBhxiY@~Fg&sT zi2OPwKCR57HNfe)4EdP;O(-w+<+}c4fQI}dNeg!!Tz=k+e#W2+lxWY>#8Qp#8p)Ei z(jm@`#(kgGU9hDKTu#0ik&E|8(7VZN4oq*D>qR^}4h1LhTDEj`eb2swHJ!YNAqy{} z>^qn@1f)hx{O6aJx+Y8o(Zyi z;m@hTQ$NZO^%HN^(Ql_bk*^(Kd3}Fo;QhsufcyduM#)BIKO}c9g0dk)DTZm0gJToat2RM zSvg=muY$Kn+|-+M))qYDB^~pNdMD0V!-!wE6{cY$;GDA3{Nj>=(gmy<*l*xkjizf= z&w49E@B_}B970Y2*QfIPeWM1RZmLmh3a<7vXhc$W>9`P~Ay6_#ml zgWC>El{(;VhGiVv;O>AGW#Ynm3YPPv47ho)eCA#Xw-%Q9w+!w|SdLEslbTAU(@GU8 z$^twri%Wr{Zp3u}$2(JXU3L^nU3botbFa+^*K1yi`V6pvJYjii88-pPJu}uhUB+vG zV_dqKZ&zY zMovQ7auU)e?|_f+UQjtjMqJz#9AAUG>*>*OgFk>YEb%KGzFjEwxQg*;U%obh3+toe z8Z6LTVMt3!VIG3SoB^YOi#KJl592FI7M00++jobz0z3r@o5 zBz4JwP6(KdoH2{|SfAt8akytricmPgN_;U?G|P}C(^jCoeMg6}-dV*e@8v;Qfl8){ zbc(ozAU86?l=r|f|Fn!8Js(RDh47gAnhQ9HGz%h;Mt=j8x5hn{M|}6InzuyDomcC* zru7Uno=3i;g*VX!Ls79Qh9do*5Bo^AVfG8`BiVN8KMr=R@*_))Y~`N?mv{_y#%$PZ z*j(63SPv|DYhfwpK-k5w*|4N%p3qM`?^EM5NYbwyfIbnH{x-PTa96{|3z!!M+2#8TMor5DeXH<)>Q#n-5E! z&xBi`{Aa;EMfp8&=PLis5{yUggB^vi4%jrMiLXZHh4x)xYX$1yJv$32)t zc?TrHW!QKrhw)8RIF9QhlrB6xiSq2Y6KpuGOSQsLL5=ez!Ex-MJUd;T!eztN>Anem z#!17Dg82Jj6M65q(P`d`L8NuoX}c8&Db13%Nzsv5(>;Z{s^w^RJ8+c8c?VtMzfm|{ ze#CvNa6@c#vj)ok4nZ-wxi*}Zmj@h;NUtert@@+ZAQ&@)@>L;0YyZi9AbxI(EKB|@ zN;>Ek|&>!amFd2q= zr(O7k9Qfkpm?8|agqv5lurBHim~Pws!q_h+&W9t4j)n zSI1#;LJ9`I(p7;*9{0GRyAH>lG{TS5&ZPn{<|9`5ON{OJQPhuw@bCZ` z{%iSI@3ndUOzRmH`{Y%Cbr@ZS^IJ1~QJp7t#md|{bDYWRJFZJ!)QI$yDgiCf*)A)Y zztu*=HLf^FJ09y>*Di!-^g>hVk$nhd(@mHWSm&7$^1!HS0hb9KkMp)kVoCZxK|xcQqzJk$CL5lS0EAp376v zg>+LX7>)(fXZ?1)fwFruzWj7(viKvI$WVb=FK<4^xg4qMS zdzEZ&V5zqmImu@!H0??HrIxgKd6H88u2jIU<=d`0?cVr0-$@?lJ-y7=ahTCDI(cvu!)BXm<_iN(|DZbW&iyQF- z8odQSOcMkPIOpSgS=Hf4V*|JL;O8tHPuj&7bC@FwCZD1|wG8Lj2p&m+?NRXfo5E47 zn~XBND^*mCm*bs$hkcDo5b(fXBapG*U`cue_j2A+uqu?dN<4j~wOW;J!eI-WWp z;+1JN3-K_t(YsLfC9yoPX%kQs%GsZ+%eSA*++PHeb2Siz@WtGcCidJ_O>+=;kq3$4QYVeRUB;N9iS&(8-~jVsq%|W znNfTmEDlD9L&`SfnU~{o@kl(?Ml|eBo?rFeFzfbJs?*5$q4)gAMp#QixP5=2lW9Sp zKpe#}o!b;n=f_IG_WUqHJcnX&BR<5}bx$V|b)>egsxB(wd3Xm%w4zwL;=Tqikuppz z#8grWqzna`F)7LGj@(;(OwIRo8FYR-$PxYr(*FIRxUyk*Ht?EmgI*^f4>V4@Cg|eF zavfqAPb7)2y&v&eX{e4?R7X9s$C6|1FG^9ZJLN$1u1v^CrQGb2J1{W9PVbGQ*Zpb%ZKM=CnDDKB-aNbl0v5MC&x-GZ7uV!yPEHvt z8jpJczUdQ7JB(Ke$q>UU$6?d#8F7IR!5DV&tue+xye7gw4(NhDL6RJglZVM!xd`hS z3#JG{o|NkhMjM*V)C`|`*Cd%-vP=DeQg+R0~bYFRGYQL*7NoH%L2 zjlV*?6;fw-jmgF&qZ)1)x_R&heGwk$cu;HbfJe;j+=kz1FqVL}8oqQR!)O8}>aY0C2r{iOh3;?Qxh^B zScG?`Ot;INmXVP@JtN1=E14x8iw%GrE01tag|EWbP_;1O#4s}(8?U0?`uq`*0Kf+P z2HeTi1%BZIPIu-x)1A4qh)c&CY3cszD$)@@Sp-OWhD{cMia&j6gO~YO=kt5v818wQ zMx;K|XsDh08kF$^y;c= z`iawi+`|fyGFItFzX06yNfMXibc@@cBu<3kV8$3d{J`OR4(gSIFD*zcVC9lP-~C0J zT%1c&SSaaYc+hG;=^N^BFBCe+hI-$`sYqW5zT*&SC~)DxBRAe};};Tcyelm}WfiU` zmmgA~cJkRv4$d6}gH@)s`=n~TVgn5`YjK`j2xmLuxuf9@)kK$i8~iv+Z(&`~Z>o(* zBdrus;j@i7v5H-in>p6R`}a}2YhM@ThaqWW&1$~I&eIus(o>_cg(0sG{lCfA2Kibc zxWw`VXPL0R;awb5+<;k<$FwRP3|})lwQ3_zx>~h>lBHENHX^N+&3G3UmgCM#us6ZK z7M6AUW!P=-Z&%^303Lo0p6kFed=qRK{uTwl3b+&gEwGgL8tl;D;C&m|f$%39cd^Hn zQ<`tM)oxYqfVd^iMfPC=2=jNmhC92$W;x*EI<%~(r%=I7=+bGf%~ z;}4nWpzy6uBMJoXJeqYiCSKm>IAn^`-4c?W$4A1-pw4Ic$T!MusBD^CT!`n)QX9Um^Iwu8$)`iGRBmzS7L(TN4k2C zK+zjGRU`s!HCM9~x3spdx>o5PLB$N3ReqHs=%V#vg)|$(qI7i0=*>v8s@W9#$2b`- zibB9=Udh`MDkx{qOFW`Xj4He!iVvsQe(kLQ^fx1oaF4tode8rT(k8pfS)?}EJ> zb}j5Bz}*A)UfBC!*TG&2Tn;uOf}wOebW6BKn_rM)y1c$Z$TrjX$S^e`^1Rv`uJiCE zUC%;))KkOqMxR1ll+!BhZ}OljvP@K1lLtxkU_!G*a40;Fi}Zzf$6PQ*OR;FRaj^Pm zL&#!yq8yD=U*!lob{aZ<)+7%rIu`k2S4YLqx&dKzOJszCj~$gKf;y(s)c_qy;=xmX zEiZ<{n*ny5N{EoN1X~K#kio2q;QSV>gYZ5?AcXyvr5JQP(U8X*!P$deoJ(4bH-FJt zaj)OR%NG0yLg29#;WH^sv{JDnBk)Ksdp4Oz;78s{W^sxE&OU4oN4?cz@yb+#QI6Bp zm0{e(W*$P1hDa<3W2gv?AygNQEg+M*3GHz@sE_YMG}c?W86!8uT!2lRy#^DG_#{pw zkXV_qF+38&dXEN$PX>K>jabwU$)m&Ag==M@2WHPQoCRfxlsFauaq_7N_f|}jDHUrP zgW_;9lPQWl0W%E5#LYZLB*ZXZ)%j^?^!zH*)UR1t_=wk(=RSxr22+A6v);R~uG&QA z;7lvKj6f)~2wi}F)EtwMz#qe-dhJ#=c!j=Ae2k~mj>k!rb&70{{7mt^CElj5H}U2j z6t#z;KVk93;~J~5Cn(YxV`ci5)&(a|QW3D05|_*R70PiHsGgBHj++u z{Z7j71UwD?JXp$q12zEvGFbAz3A+mZwJQ8Az{8j0JzQAQZ-x!SzYLc8z74wu{&p1( zFwV>qGw=q?x+AbPn0K3)%LnmJw->*hoBMz%!Q49sE^&l&K;wp+i#dEVX6I4xE`*=+ z{aPW>#F~IoIm7pfxxS3HfAReqxhCS6XyBAD5rOPJ(Vj6r;p>SgDo{YQZ}p)@#Kehh zs%6W%E=CBWP}X~l*(OeR3pb*pgAmQcd3;qPX8)LY1f(C$41P0h;!M#FG3rd3DZ0_I zik2-}@nQ5szX6zC##jT5A@*(XTr^~UC!A$YoS9R~H<_H}IF+Voj?+xTL1kVX(lwT% z5r!{Zi{vH|QYzCK2_urK9zbIXQV|Y{U_Xqi|8>RLMW^iJ|dfV)W`EkNL*Bp+#E#Evkq$#Mt^_ zoH%2{rv{pEZY0L3nKp zDH`U2pwZJK(y8%7toiJ+Y*Rgw;k@y3!zs>H$C2v(nI^Rn0x=lJ=6B;{8=I-l<4Y3W zfT6n~h<3$VGL!REW{zSI^rE5Y`GfrSC}#;)G+rF{%x0C|7E}_c*c?nJa2BUU$LWF!%hj_^Sw9#90->OlwsEGYBvNT7rVspZ&Tpb` z%rYBs+U7!YX{ce5w*hZ;t8)pZuFw#BbY@W~w%SE85^35IVrNY5S(z{{HSLohadG=< zoP{f8#gb_!t)+Vra+jMt<4i;$ZbVUJvdq}{to4A>Yqp-#k=Z;tHFC7nZ3YyM3lkrn zndXdKZ*WW$%UOI{Xdfu#cWI`HQ+GKt#@^jvQ-9lK8uRdwzF5r!d-egcEyl``Lzq~d z$`;E|dmq5kjMXtTv~i+DV>OGFCeQZk8;#MSLy zWHA$5A`=pIOS;dZFX48uHb~QPNzXG3p9jvqufGg1=Q1?hpWg@=RnNdZ9z6ebB9>B7 zydoj?w5)i=Hyijk9!nQ>Y?&1%yT=Ngt1suw@_A3PaQU{h3>OOEXAta>uvm^7EzgM0 z_QjoZ#Bq+Mae46H37c)hVc8n{4yNTr$=eDXpIc{#_@uTcP((#*`Bt$70#Zvdw^qlvtgOu0dQ}Jr7YrTh#Lw) z#F3YVxP28an+O=<4o^aNgu?OrHyY9%sc>yJoT+g99*%}|M=2b?i=!d#IECXkeKf>v zRXBb#M?>5P3de8fXo$NT31B*AtAr4DkHXDSI7XFNzQnz%*r8z7v|F0-*hhsdZpVvHS+H?L*)e!_ zK_Sy%wFS|Rcz2d~QP{#mP6ezEh~tsZQX|+$=y^Af3|pek+-Rt>$A!_Wrh-4QeRerm zV%>`&B`ij2YAa3l74gprSq!7`?BCvZY`8qW?{I;KWv5LgU_NixFl97R?p@ZmRKFz1 zSdQ?pc(FvkYhmyiS@{Bde2rIh#H(20YQDBnh>j*&i?K<)w1Kr*L#U})Jy(}Jq7=l7 z+Twc#J~M+31z2fCv2F?&Cf>#NVlCyvH?(y9!1T2~ihr_VCRv9u{Z=`O^2LuQ>{T~t zT4C}YC9J5$MM@mI_+1XqDLQ7NiAkJY4rX8#oP~u@TV;P4ACC^N7jLp9#(|~0U`oU< ztd@9|k7~;F8cp}f`|P$|DW9j?!&W1Vad#tZ78Xrq^RU)e9!tJ%dl)pXqmDjibn3BV(#9Tl{J8Y-6R5r=nZDh}ziZcb zC!K6X2Oh?s7^@W@rS9657;9VtcI`^22fQpvd|}_ST+xH2pM-fZ8Zyf_4U>(rylyB| zlO}?&uPROr6H7?rT=ey{G`@lnj%`=RzwaSKY`@>_{(Ue~JNijylPtWt&F0R_$+a!5 z#JPApbBbmq&QahFQ5&j-_=e`cdPjGka>uCRBU)(FVucPuGfMHu;6nv@|>Cj&RKQFVx2c{iWodzrE?B^G)=1lTADdx3&dz zSo!qvnUicmR-IDcrIH1G3z%JUzabq<5qT#`weq+0yY857V=-Y}uIi*&4RJQG-7nE8|$B zW;IP&74VGhS3!yH{BfP-}$3_QZxVZ-pZ!8+jYgrzJO+&0kvANIZjDynST z_EZ3>C_+JzW05mdk#j~sKtQlfC?L>^h=70?TM#j#fT1y=AjVc(6j5mth$x5%sF=_e z#Mp|6q0Rc|E}*r&-S^%<-W&h@G2T78*!k?V)?8~tG^!l*aW<5jQv2!wZNL2A`W_H zj{P)49>OqCf2*(me))|{Hp&I0?Z3DREx{9@R4ed|K!(e~SO}3T1LN`hA07{RZw(=G zX+$e=NBxWOP{MzIeNr*+{yS3?AMGkYl=YW9Qugiocw#Js$fb|*Wc-WqaQ_SA;bSbR z|6)9Yywg9TfBakcP5XbW@y~NA(7w>-&uj8mEe3h!ugXZ?e{~#ujN#uI2jP{0?fJ{0 z{8z_8ZpyXmUylkhCfmPW8^R<1ug1a07+U{g9N%E!jOYO@1lA26W6d8p2!f90BlZ6+?ls2R}FaVsnyj(Xh3mcO?;@5l@YiucAfI3lY!k z?+cwNR;k#AxYlKPUhpD*mXr}OwM+5K?M@VdX(zkW`zdpie zmc#J!UOaG_Jn?&Bf8MvP(H>7{kuxj-77_T}`oQnnoJHTM3T?mc337)Yx=q3KhLE#& z`m0dhK7X!*`+RMK|KT{}A;5U@AOMaF70oRgzzgTyki7Eq@%t< ztv~tQAz!umQu_~o{Oc^@qbDZ_o%=&;XY$)b(cO{tM;zJkvlH-^(m3+g`Tntxc6eHy zto2|UlKiTksMHXQNr+sY+wk5yP=5;h{Z}~nS9yaCz6$?c9PJ$0FUx{a{b2;2yY`9* z_ya=+(tqI17ykY7T^l}RP9AWZzWV$*K0O6zai)_z%=;Gq$=I-w4i5H^y4H*&` zICN-maA;_F`0(M8kt0Wr8Z~z8xN+mh$Hq>W5FbBr;-pDQNy*7mr>3Uj&6}Cir_Y=@ zYu21O^X6q|=jP_+EnK){$CKK1__2x!`!+MP0eGJOcN5y;Rw@vo28HxSUYKWTrG!9N6|2u&ORWN0!20j={> z=chjWLm-L}))-(cK0-c0XwhME6b)$_pL_u;dMO%<;v+;FK0>5X4nl}D4b52S4;3gD`ePx@Mw*Q@8)-KBLpcZ``a?MjxXn;Xd_*y{}K^h^SPbVS> zqBD^MA&XmjX{=Q9=GL! z1Yo^8X?-F4E?dtA40T88Pdo{dl34=g(W8=p$%{%(xO2jO^PV; zRk<8OIpibCLYjp%3u#>aTSOL*#w8N~AtaMQ8tp*{gisEl9P*Jy zd-RPEX)*y^m`MKukc_VJp$%8^DpHbM~TmUJLVIs!?eeJXr|0nzMfWH^`( z`A3FM0|z5Rv^AJL7v)IPkVZbrP)<>N@*O{xhO{(?La6; znk>%%z@Tpih%6TaM3$C;K2Xkuz;iKsF3ORnA&q>Lp`4=g(GEmM-wY5PeKSCG+?#||Inr2Gvh)aXe-`dfmVj_sKLaqyvVstz+!*C#ib&Iu z1~K`l4?>9hqrEQDAcVL-(tOkhAw)Uq>mm(8h;pQHchN<|-@hVK_*eNPk6hPhygjXY ztE$KN(Z`uXORtrj`N1LAY{P^IiQjLU5&zy{Jxv=ndh`!PTXztcDpPncRgg7a#H5TkVJ`* zM$a`j99!+fcq4cA_rhNH2jX?@Rt?{4U1dG|?bqz#PhT(iY1$sUkjbV$s$EPQqZpVG zw7GRWQ)TOuQ=MK@Wy71!>lf_{D|?yhv~G@bp5Bpzvp&%6#~O?%7FvvZx3+uf%Adt< zn{X#i`K9p^b-$%+(@yg^C7Q>mJ4<#+JKC!6w)tFfG(al4dVjNJ{fiF&d)qc)sQUVPN+5vs1r0uN;zY{K%#4D0NnO2qmD;^~H#L3wbn4u>bJYC#^Qp$hMr!Wd zxzxLN@2JtEM^pa({?xN)k7_fnTHU#7Nf*+T8xw~yMmaU->L>sD&ov}sgLO$~MU z@L}rX$B)#iRjVjNLqp2m-k$RC@StA5eodV}f1a|nwWYRg+eY2HcaMS@OQofyQP-|r zql7{srKqR~$zW1v&z`09^z^8@x;jclMTPqD#~&#%F)?cW`t_8AgajooFHdD>XH$3X z+@T&neoPq|8Bqrg9H25YGbuKkP37k1Qs(C7l$x3vrLL|{O`STG8Z%}LRa#m~4Ie(7 za&d8?u3Wi7RaRC~CMG6ScXu~sWo1PzSg-)kKSfY&ZEYeR?&;})Z1SlOA3jj~_wT31 zjvY%)o;;aqYHFfRoH#)_IXO{7hYqEJgM;y|=228jOAFQ7+Di5I_EJCn^b_^|{d>yC z$A=0D388FkY^c1vJj&0{k9zy|El`(E&6_um3JVLvnZ~Zv=FOX_ojZ3@;o;#_d3ibI z>FG%o6ckV^SFWT=N=hh4M@Q<_t5?*qW5=jNhYnFUZrq@BbabG?xT2>pUc7igUA%aa zYHn_(q@<)M9*;*odGdscj*g~^i;F2=UtdaDS(!S0`ZTp;#}4X;AAX?R+}x=6_;_mE zxN(%Ksw&>Gn@+{V#85doIaFw9D0TDZO-ff+mohaqr3woRsl|&IQ$vOfp`Jc{N*y_J zgi=sYpnm=JS8DwD@f3%{p*lJ`D7Yt-wY4?n?CeZQN=j0Jfq|5`xHzS+uTMoqMNy|t zouV#XxT{-FMW>moKT`e*29|NJyY&&6-91{PWLH)-39mUw)xx%$PwL z7#P5}w4^jNG$@E7b@1Rp>dcul)We4lsav;hQ5hK-6kIAQC@6?Je*8GKY}qnu>C&ZC zYHBLw?(R-iRaH^nfB!ud5D-8y7!2z7-+!mzeo?Wpv6P*i9W`>~NUFNJnp(JUAyr#j zOKECqQkynyqPn`es5fukP;1w&rR3z~sKmrX>iYHT)QS}=sMV`iQyVsHptQ8Ks6~qw zQI8%yqApyxK#dqNf-*KXrf%Q9P37n3Q)Ojk)RHAjC~0YF>g36j)cyPSDQ|CYYSN@h zI5WhHTDNW;Wnp1K$;!%76%`d!WMm|D^ypDaNl6JZLEXVp4MSEW*!BauT#Y3^1vVWD z@jH(tpMcv+gN-L+D~EvfT*00pnEo=beH*rNJVgE-*diWm-h^d42=*xkyPp7Dn1TI{ z0a~)Kw3b*F2Db7NSVt8QF&fKIi)GNnc8g<}UVxn>Ol<^U;~9p$4oi`UE&C0Su@Pde zf-U;&e>?bUN zEZFfW#DEJZc#LJSfLP4~d%T2bn}E&sKrCATTYJH3MPR4pV2>GKu?Dc+8i?Xsh`trJ z;Q~ab87#yCJIw;CFNVlDf@PxsC%F&-Q*4njV9+0I-U0SM0+>1rm|F$-+X_gM2XsV` zhmx?hi@+)}fHWcC&mLl`19%t(Rtf<0(!dHUz}^mE!3>CsH6ZsKSm6;MW#wgAw|gg6EQTJ-?EeGu_bz)u*&KpSwugSg)W6kh|3*MOBbfyGAx8oL3* zbx!}DJ%p$k0H#&~((eJn6(L@?paMPuZj>RiyTHOHp)xK5 zzSjeGet;UP2Xs0?1x%I&2}H zsZa%CfXH%)>ry~NJ78lb#Bd?tb0^fB0AhXyFd7cg4uYs@LHxHvMHoSZe~0MW0VXd( zB}@e*=|g0cpzh`aCZhqVHy~>Fp++*H-nIb7d!a_mp;`_AMl=A?n*o*Mph{DqezE~? zl2Cio0Ij|d>kWXWDS*jBKp_XJVk{uv1}bzeRL>Zwo#BA!7l4mgh<6#(;cJL)1=P?L zs7DW|>^XqDWT>1Tz^VdZv=eG_8z9;Z5UdMTRS8&m16WuB$o&;+GY#rZ4JvpaAnzBz zRTW@62i**Zc(5Vfld&}ISPlVL&>pwi26lGDR-6Qzcw+g=vBjIvBnQKK0am*TaeI$p z%)yp-V|$#iEb}p~4G<42@~j=$dJ(q37VNtMTjhgk`+_}BV>rKpeIEfXngBbIV3pZ` zoz-A%Yb^bCz|SeLoF1m)22p(qaSn#)t-&&Jz}DV?n|ENbI>6R2h#w2kVu>Xx0|a~z zkuwIHU&mJIV;c^DRi{|j6TY&8^ga}=O2=69X1~JSBWF7-dUIM#FV%uK> z#_j?RMuCmR03%1RwUvM~KftCq*uE7kXAZX2f`}CW8qR?|JOFdD5IZ^`wia8y52B4D zG8hcN2@RslgD5No+$I4YodI)2fCD)|uopx;6k;|JqJ0z4`x~IV7~=FCkk|sqy8vi@ z28cfhw!aV9O$Xfm2*}(6XvzTF=>nD?06Ordq0%-2E_wmCr4Zdtz@!V*Y6w)^ z&rltvfU;K*_X?<;2B@jWP<2P4dR?Jfa-lXNpdQx&8e##N%22arfNCb7@&}0aFHpBx zfQc)Be?vfH7u0AXAVLAEGY;x?1k{TT)P)qFX0FJZ+=N(^Z}G!8K= ziLpkEM`Dx_W0e>@TBE~u~lxv`Uh!aB$Jz|&> zhk_V{#84&1H!;wOaZL=Q+E@C_rL!B6}#JM0&4KWId0Y@Ad;(!q2i#RaE5GTeQ zF-D1zNsLkAgb-(i7~sSxCQcSHM2W*fjAP>D5TlPc48-vwh9WVniPJ@lZ{idY=Z!cd z#PK3VIx(n;!Acwj;usNQoEXo4iquIiK9XsN#aBi z!e1#wP@^GS?VV$c$YkvL(*`6G@AaVm&2N*pcX&=F^q82!ZPCQb%%Qi)Sb zjC1115yzA`nZ#)$4kB^*i1AAtOX5%v!=5;d#IYcTK5-m~kxm>q;;<1%j5rs>Ng@s< zadwD197^DGesOE;s_DPnmBvJF(ytLG1!SyM~rgfa1&>dT*Tlf zjtp_`h+{|`65=ouhm;un#4*l>B|#i(;*1f;h&V395g`r;afXQDPaIX^6cdMsIMT%7 zB+dnKDv5JKoN?k%#l*zyEL&o-ASX}k^2IYst(WR}kzu|H8gkN_drI@o^>xGyqQXNo z@zoeZh09XWkeAU43-^-y@a(*6!>MzUF>yY6#(b8suct3Qm!kL^i#?(R zv9Z9KZhf<@S@Y%dGxiy&zP3*~&zr9<%2Q-9IGo4`f90sKV2x1`LF&i$FLxs{sLyBW zYjCABQqz5G))p>SA$I-wn)6c6o}aS5*4C(M&X+R3+kMt3b(*&|zM^BSUA0WTwXIfe z!Tg2d4YiHzm>5rfSePfbv^-buVRw_66ir(C;DLqq8&|H-3ib(=Jy^NOVbt)UYNt<~ z5ucG7;J9_mLPM@RU4Bn_fz{=y0@1-71EUbL{`-tu$OLfrCmmP-@c zM1v=*y|!qHD%oBYIkqan>97bN-pdzf9Xh*ebw2bpCM zI-AqA^O2&~zrn1)0T9 z7-C59>SbTOUE#|4@{8v$l_YwhqB7TJ&a`3ft*tfO8PkS3`}+7xtX{cL>26oOfxfP| zAz{HiWy>vYUTV=UEz8j%Hngpcgu|XKEAU{uxV?g$m?B@7uIngZIlg>$+IDOCA|qcf zKe1rXV5#h!9NNRKMw12E3z(}{EmF1>irF>PHF3_Lx*+2!kaA5;^Ad99XmY3P&PpuK zS;Edp^Rs*NqRHjj#dB(Jo;5hGE?l56Dm+j%d;Wa->6+8b4=-9g0=xp*jzYFme4M`# zQ3vPiT4XO@I;(u7VzHwXLsm9_{t6jSZ*MwZkD*sslp{AKCfNMir6%>Qr3>_J1x(v# zeYL^>&j411wv{ z^&TRAaDSeiu^z`PKGx6R&GU24o!xbMNA@pqs@R_++_voiz_)=OFEAV3sAY-dRif7 zg14@*4%>vukdP4AFl-)nHW;h$IOO0V%xU@Qd+U(h1gOqSdR%&)xc671Dn`_B?G{^PcV(e*pev_|DAvg1#IhS zOiKZ*^AcN91J?0{sB{9NE(0dW_PAn8^C9kQ0YAprieSLSOKg)X;ASh9?+wIQ3ha3k zTX7A`Z46eA2P@Bji0MPr%(3Oq012sJ3r{TDWr(gP@nZoasbHgcz~3H-;bMsCOR)ML z;=e(ZH2`}JfE07E!A`J_Enut_(8L0iJpo%k1YAaeMOOnZRlu%q09la`i#z|tE5pQ8ZB&j2xnfT?E?*8o8248ZhxK!pOt`wi4UDnuPG z`}CLtNU$aLHc?f8uz0Zk6u|FksDlhZ?qxvjL5Rdd0)c?e48W=i;O+y&)f3RnB`OH& z;TTw+2@!ikOf`tiGqAid#48FaZzn`E5^Bv8s&4_{QUOr27^-0{;I{%WcNcIF0CAZC zh*}MG_W`O;1CWyq=;T9PyD!B42}E-g z)Iu24%R|8G96;GMsGbHu{|Dl4L%ppA9K-|uT%mdnLd5SvO&$Tv&w(0{f_e%Ayg34T z^`RaGfX)R_1CyW<3IV&eP;Ymk2K51FTLGmFP%mLn4J@dF1yF(40K36Zec4dM`GDE; zfGkJAQvg)kK`ccXmLLbBbrGU^2~!EfG~~ekrI?Bi*f|`_-7%XoX5eaNhH(-N?EjR#{ zUWsk=!4g%1eTRenPJv}p0g+q4V)B5+a#4Q#OSO=D@0EBp9n}zf40t@tkg{J|MM9>8Gs{rieV%zBu(Q=5~7KqUVZ1pOL zn-{h{7Hp9U)~8{M=@8LMKxj9_>ILAX7F(VRcIHAHobC17VhagPA~m0;6pfQME<<}^Tq4`5&=#G(rUz~>9Vi5J8} z2-uDTgx5fY)d4OqL48#K+89t3^8xeTfGjQD!8;t41{0JUNbl~nH~b=0i+y& zN)Q6-?f?Q~0XGqVhE71)GpLYSsLgDsNqNAoH6SJoYOEEicmhn*&xK0#+Uh?JogQlf{;4dFyxC~-?7OcJ;ET0WgmIdsc1Efe1HUR4|0b{2CO&mbk1+aA^;4%a( zx&Uy=0=qTZkAbag2K+3werpbmTix%GhB1rUjI zfIv2&a|mFS4Y<1iarFc=)1iWDpdOZk<;5Uk=b$EN5Sbcc^g_IbLFFxhXbyo|^MUHi z16(ozHA|oxmH~dV0dw_$g8+z2ARuZH)ZKZgJ{dsHd_X4+>M9>1#eq16LcIN*ZxYAm4JFX3pL0DoGk#9HbK4k zKs8806)b`ZYy|8EL-plC4Hp1rF95PQfTy8QZHvAbcU75NgE%2_iSlmX z`D7Xrgm8)Se(itv#z2-RFXJ!rX8c87xA@~4E6p>T$NEgq{p1+_as5wIi(fWfwyK#j zP0aOJ&!i_KWxoIZl}UY`O3Q4M4I}0Uj@zHO_vMNUhpt4%9=v*XT-%K$F`7|0>NSs*XIeS~~B@iCx`8 z4d>+keE9t9q3Pat^XE;O>tmUfu<-O@eYbY24x=A!oz~E9PkoiY(ainhGR3lzTMJHy`S*KRV)2w$Gc^QkTL} ziYBvS?gs5T6aH(H(bN&qq0u4dRfA%8Jw1^fyl34@&21e=XKz(rXxg`bmXTBSKG)uo z^v^>#Y0K@9eZJz#hiTmj8!{uKhbQa(YIk?m=4*_Gs?~?ycRYGy_jB6(y4Ia9)_!Mt zja4^WgL!_VNyG(4`mja&?$5f%EHsLVol$A^s^h&ml%m^}RHUHf}6weKsPmDVe-iD{{rc(^CgiS;n-BlE_t zfO*Z*LPpSTdA)YGvWZ!lovU(s)|DP?GD$BFi>Y#3y;Ar=;^`vQghSKzS&dr48~^L~ zeH+#fwf5>r+9P@=1pb`6=)8;HHa}L%?CluE%zOVN{uhngyLCqFw3!vglvcLcYjOIgrDIl1 zQ{;-hTdQJtQSsj7HNVXXT;rsoJZjDFO=iC~4i8RwHm<&^V2i|)ExAS;7z<@o%(FIi zyIioh95TMpdXA3DIo6bnKIYnELx7kUk{?Z5y`+ys3#ZJbR9hpO&avOX1N%;51f%mn8=E&)9{(0NxC1c(vIX>+< zEdKIP)MrjokHhvy-oY=={4jpP^s2nOey75dlkK`f9TcLUCrg?M)P0}3jb%tYqInG_5w)pD(MLXnOr>W6cI{(@K|H1v&_dK7h^>+3BD;XJ_u@)!gpT-1u zd|%+soWyjUdiCKvN9!M-TRv(0?nYEQuYCV`)yL0HYA<#BDeTqs8})~mwU>z-cW-$9 zRIzwRr$e^v#qsAAu5|^R{2{sE{7;cyW(OoL2i1=m_4%-$rtFEu=k0%(wM*~C!?P#m zH9i= z)hQYQ%Y4|LD>pBC{BlU4-J~roT6IY;-lc~;_~AIWeSg^xJ>ygZcE8ok8^WsBcoAPa z&Y*PN!(u=C$-6T;WrVja-uQaF;h83HpRuL#m8+S!^R2Nx44X+aA1|qzPi^PO$2^HSjIB&dUES+T7koHzX%Qi0x##y+!* zgL<};UfmtDF>bf>_xf9tR{cKRpvV8i(vv&1GpI`?%MV#MxcnllPH#PZ;#&S~>s^QD zWI5iw_enlwWqHPExfB19|NrQ}|8@2c`MtB)fFJa&uZE|?MZVgX{Qh^AB;)1Z{ZEVc zzf+7!9I0?wE*}&FBFVuk^_%oyJ_&13_UxaO57y-lm*p0M2Gie$I0q81pz6;Ze0NxD zge*5TQkE+KiAu%{gi(KgpKtH`SLs5uj~Rh`kNoHN8GL8h|KvEn>|6hPzfuR@uMj^8 z?^MJqfbecEax6!30^T1_4i7>8wD05WghE?UTvUgw!PoWwc%Rod`FOY2*SGpp8}gpt zKkgGxV*T${BEC0wJk}G`3L^Q16Z%7bTz~j%AU`bnpRYG*`|VYVHZie(-|nmR8F+uv z;0j^RDJ=#qKUr!#m&tFvhGOvDl9h_A{+?OfEWlj?v#y*&bvvA_bt?>Db=O}De{f$)g6Q};DkU}{mGnKs$wo**QQh?P=ybfufgl@6LqQO@6UppXX}od)96!)z zpickW83yvmJ0l4H58iX2&S3UG{%_~fx)u1n4dcf>JInt5zJK12N!XNrt7{N_@m}WP zUOqS)ZkTVh->5Lr$%BJ=p~Hej?|bggj}|2{SJBx|WV{BLADQB_owD50U9#LT(AV?G z{^`%@ughvs#@+q*<%4xSQRm;oMZC3oCVBf&)L`Tfgftu&CwC992b2mLygvym_Wn8j zb=fnNrT+Z)<%4xAP^Wa?-`D%H59x`i-)#=S{k1J<996$FaPnomWJ2=_+5)W#`o3NFQPso^o9hMG#!qg zJM5RGMz?q7Ec!|1RhrLG%VP($Z?krUB=7i`e?LJj%Ko;)Nx$O<8>FN6g_qTwANwj) zt^A#%fBe07S3VD$mcCwRL z<60HBEtw1Nq{qa%TpWI`Wb*nm<>K#;ZEhU?By!x(<9}WGt7d0*>5m1R{r3)3>OP)2 zK2P6t&f5zi1$hn2T2)4uWLcE&OJC8pb;6aUTMi}CBu{EaXtQUrg12m+F8L--SGuII z%W_xsrK|6+z6>J94?{lR--99a;aU^Y+=picHhsR4VAVJ;g$Hz{j=Uwu1hK|B z_KS;Bg-cIXvWibv;|BzjPZ%9rX3qKL% zZuIsvIuy#En!I;-jz{wL(hT`ANA7FNsB9E0o#ggd@pjp4PuKPPI=&n8R#V~K{Y**C zL&b_gRc)JHCf$pd-lAPUdd-e^F;`l5=@n`Hz}@@KOk4F*;gJQE38|*@SjTc^(w_X@ zrE*#|_;X8|hU}Qx$G1-2@M+qooQBeIa*AkEmLGgS`MYLbiD&nDr>dM6R?+jc zwoL9_B9?VG?#}gFaqHT8a=W;XS8x;^awHG$dDCEgxm!(a?0z+=l$}{edj;i6-3EfG z-`T#o;D*0PUk-7xFqfJuiqK}xa9YdM`{dX!qR4XoU8nO;lca4P3JTW z;>8s1`F2gbZlJQYYGT>%D?*0xK`(%~|*i9Th+@kRC_H$k5oDWU+ zIFM7H+7TKxPauD?)alrf4fpmBd*xNVxG?&%+=sDKW}nRT?%m(1TQkak?6muDi+U!u zBne8EjyXOnyf|KJ6MxQnncQTPmo7i0ux;h8*C`2pIuPr3`}MoaBUP{Ty^-#uT*muc zeri7Md8_pItlyvJuN$qJu(9pvXV>o!9n`$PbJ1v}(^F)FgT9|%zqYr-0%ssZkd;ZM(@s2%L=3ks%w{*hJBR`qmpPLn=@Z{0GxRmIXB9s6C--NEm$G+w+rP;l{9da#$~e~1J8AK|-UGFULtmUZkgGH|w{Jzg82^;z zu@6-)>3dUx)m=W-<>owpYAqkS;&X1^qm7@Y6~$WF8aFd-Yo6SB-Q4woz9}_X@@c~k z36AQ~X>kvFzWe!Qh|{m--l3Y4US5qkd}DI;`|gGVLAzLOvG4UO=kJ$1HfyGHKX-<3C`{Kru?RT=4-S1453SDd0IC9>2-pHyKYCUcv65{e&r;0~wzp~Mf zP59W}u66s;tk}~((+}kQel1ffF0R{Z?pyZ_`WH%8oqul=ui$0hwQG&N#f9AZ>T7+j zZbtm?Zthz@^yrpRk#F`6&U-L)usrj z%^SZ-Zz$HO-!1KIuUl`H{BYCnB^!6o|2gV&(5p19JI~`UgBBL zZq=G>kJ5qbo-p)9id|HrGBpD;I%X-o#3!2vCo~6Qry$c)c(q^3({;+NA zt3^yt#t6-pxGa_A%~!mm=k7T)a`C;pj|4N{zYI~T8=f+?PixbE_WyrS{t{&Fwr;eR z*?Reg<4oz1np-H`G&4HGRVjJGczNMmyG2XB za?#jEyWyMfF13j~V$m=zY{3PgNC_JKX^Thy5ac4s5(7?O8({p^QLa; ze*3xhgk-mznBB@}GNso%<2o#@M;zfM?%MS_O@CX~!H>c3{c{|(nL~!TM`>?Jd(!e@ zr1;)uXN}ZgoBS1(!5?e($KRS=)Sy3ogLULVm+kJa&UyR(qUUTH;b=a0;;>m$7=DN1 zKXT~TrT@eK|BLlcu=g1}Adr70|4l*eYEv!Ru-KQo#P8{{+Q*e=n14n)GJO8WAvID;qobnh?0%^kVmyC-=CZRx!y@mB z?Yro-*wKW3RlP<-*1RdfaMhd)tFa?Y7Vj?i79LvI%MJSdcwIhc{Q0(?#K-d{`ILk; zUhp{ZG5+W9>%uYKT8<6W@4?hw`=2JiZ26D;|40A*Z?iwYd}h@D+-rQ|bkT=*bUbw| zhEHrblr&zo$fJ}gO`KO~K$+mQL@UaUa-rNPAIhH!q(X6$^=K-VN}wiENmMeGM$Myg zsU_4hY7JFPl~Co>4r(t|NmWrNsamR@I!j%mZd2XVJ?atFOZ8Fj@l>(|O`0Z4Q>3ZV z)M*AZ8=3>niRMNNqJ`7O(#FwZX%lHFv`pG;+B{kwZ8@!owvJX#+eX_*+fO@8J4&mi zHPV`CEwoFt+q4I?$Fvu;*R+o`Hl0J)r0dZw=r(jGx(nTl9z+kPkED;LN7EDNiS#6T z7CncaOJ77^PG3b|LocImqwl6y(vQ>Y=`HlD^jq|9`U83|{T2N!oyHJj@EDp56NVYX zj^V&?VYo5;86y~@8DkmIjATX{Bb|}OSjH$|6f?>gyBK>Jm5ge}Sw<71jd7K6n{kiP z$9Tnf&-loYV6vIAOjV{j(|~Ejv|xHLeVBgCKxQa&1allSj+w}u$IM|aW3FPBFw2>{ znERQ>nYGNb%w}c_vz^(+e9ZjF{LEyCvBfxI_|2G@vY5JU*j}+pv6EtrVohQ#Vr^pWVjW@+#9oNK7n2Z|7MBxO7S|Tn z6E_pL5_c2#689Gm6b})P5Fa5vRy;v`ruaPZT=6{d67e$ea`C<5)#69R>&2VJFNt3l zzb)P;{#yLK_(yTJ1W!U+!brkF!cQVdB2*$=VuZv+Gq zA?#502=-`pG&_l%#?E5rv6rw5*c;g8>|N}=?6d6a>~8jBb}#!C`!)L`n>xMZzli{y35 zdy)?%dnEfLUq~`IavVjDI!BLV!m;3ZaQr#poROSyoCHn^XEtXEXE|pTXB}q)=P;+5 zQ^#rIv~X^5x;T$GuQ=~H5>gx~IVl4vD=DFrm(*CPXsKAKWT|wiEU8?nB~nFFYotn~ zDy6EVs-=!fot5gAx+nEms!!^*)O-B8gCQ*|&6C!a){!=owvcv{_K*&h9wD75JySYI zI!}6$^fKw?(&f^-r4LIVmp&`qDBUc5NxEISL;9Zd1L+siAEiG_vt^WJG-Y&TjAX22 z>||VIf@DU@jFuTElO&TSlPNP-W|2&R%o>>uGW%r?%T&wM$+XF|%XG-}$n?s*m64F; z$V$s9%Nod<$O>hBWc_7BWJ6^mWJk-6m7OS?Bs))bjcl20x$F+vy|R_ERkBBA+hi}v zUYC6&+bjEC_MTnIXW?Uz(8`pyy&Q0W|b7yjAbMv^1xJBGm+!Ag%cN=#f zcR%+ix0c(;eZcMGzTkf3ipg>06y=QMEaaTz{N()QM$1LZ#mObgrO4&T<;pFW+aOma zw@q$`+-|u#xq7)axvO#yvwWNUZTXM#5UizE>%7~%$Gjfi3*KAaXP&x(j)Ikfje?7U zpF)VjXoVz&6ooW}OoinN>l8LClqu|2IIM77p-G`#pAip7c>6sr`ED%L92D>f@$ReY@|p~O~_ zRpKcrDyb@|D;X%+C^;#)DfuadDveM|R7zG#QOZkt2ls71ER^Fyusa&mm zQn^vNNx5CQOZk!V3*}eJpOqz4cq*DIb}9}kE-F4Mfhr*?BUC1;q^V@7%vG7ElBZIj zvO%RpWrxaMl}eRrm0FdvDs3uPRj#YtR=KD0Sml+ zTB2H#+HAGCYKzpCsI5}lp|)FXuiAdKYPCkS7PWS@t7_e9FVxX)Vzz&|0HarnOh=s8+33z1CT+ zCaqgq-CDg`ueCmE(X^$tWwq6{owNhBgS5l7Cu(PE&(_YAHomkNAu(O3H(HU7Jn{(3BQcLo4=o5 z&9CFv^Sk*E_&xky{(JsszO)Wc$4D20+)w!y3OXr@>Bb`2-S32)?7`kj-SzUEq9bE%mGhLyslWvf1sBWC@MBQ}VOx=09 zdAf^qi*!qLH|v(`9@ags+o9W~dr!AV_q8rVkFCeiGtx8Bv(mHCv(xj_3)hR#8?6_o zm!y}gSD?2>Z-?Gqz5RM8_3HH+_1g7r>2>S%>b=l=t0$(<(O1@2)i=?1)A!Q%(GSs& z)}N@Kq(4)CuKqmzJpB#&W%~Q{tMrfR*XuXwH|t;3zpj5v|F-@s{nz^M^=SqY20Q~* z10w^Wft!JkL6AYHLApVX!E%FD2E_&?2Ad6b8|*hYZqRJdVsPD{%iy)aTLUpej-jlf zqM?zYiJ_gLi=l^MkYR-3Xu|}qcuhwj7p4l80|BvG^#eLHL5piGwL?# zHDVY`7)u-TjMa^`jdhHL#%{(Q#(~D+#$%1g8OIt=G|n{6F)lXVY<$%CxN)s&-A@1&&2z^O5GG%@fVD%yY~anXfY6Y`)jL()_S_ zlX;7Ihk2KIxA`OUUh~i95*C^k+7>PrJ{Ex%Ar`R~2^MJ#VXTku2qgzuGKcH z-By)Wbyh7_ZB`vtx2zsm^;o^KdTT`!NDK4?CISb6i(rIcv|y}Yq99E$Q!rPMCnyrE z5tIvd391Dr1!o0Kf;Pcb!EM1kL9gJw;G=*cWD8Y=Izl6%h0sapBlHsn3C9Uzg%gFz z!gS$0VUcj1aI=5<{Ukg7A+185I%GR3JCf0V=qpinT$5|&?r&woN zXIam-UT(e4db9No>%G>M)`zVdt(&Y{tlO*~S@&4KuzqVTVPjxpW@BYzXX9n#Z!^{= z+Ge6nl1;kJOq+Q&xi)1sg*nrtrFJhthx`DjD4m9^#Bs@kgCI@tQzj<6kR z8)utnn{1n7yUe!8w%E4BcAM=!+oQIPwwG+XZ2N3K+p_JH?KJHy>}>2@?7Zy4?Go%# z?9%MA>}K1|wac+vZdYKp&TfNUncZQ#<8~+Q>g?L>ZrMGs>$MZJm#~+!*RvPeakO!?bM$ibcMNija2)9v z?U>-0;+W<**RjBHo#PJ2!;bZijgBpj?T%L+Z#i~3b~}D{q&aCi={XrVnK)TFxjA_` zg*c6MN^+X%G}kHDX_-@z(;BA@PGwFzoc1|YIvsU7>D26W%jureW2auH_f8CFp0lE} zwzHA5nX}M2$T{43taF_6MCWAZna+!xw>j@}KJ47=-0s}ve9!r@^9$#X&I}hh7j+jM z7d;mX7bh1#mk5{9F3~P&F0);7T$Z?OaM|p#&1HwnUYElz)h=}|O)hONS6#YXx?Ntm ze0HI^O1sLrD!XdCnz-7z`nZO=M!1f3O>j+eO>@n2UE*5oy2G`~^`z@r*EZK%uD4zL zTwl8~+@#%9-PGN*-E`b6+-%$&+&tWT+)~`q-7?)~y3KaWb1QNyb}Mn)?Y7UY%I&CI zty`m8i`xq~F?Y7Rth=1Mrn{cIiMy4%jk}loNcTAR1otfW9QQ@;W$xAP$K6l5*SXib zH@aVS?{M#Of8gHh{@I=5A?@Md;o{-u;pH*fBibXuW1`1QkGUSpJc>N_dYtrV_PFG6 z%j1#9V~;+Mj~?otI-UleW}ZS%4^JOYKhJTVv7Qq>lRX!C7I~I??(*F4dD!!~XNTu) z&&QsxJ>Pn=y*OTSUW#5iUN&BKUM^l9UZcGdypp`Kyk>i?^4jfn*z360Nv|fa2VT8i zFTCD*iFr$St9omD>v@}aTY39|Ecd>Vgca?X&ca!%e z?_1v8-hJK@KC(XAJ_bHUJ~loMK2AQNJ|le+eU|ww_gUq$&1aX-KA$R|<34A7T70^E z9{4==>GA3FdF#XW<@hT5>iL@Zy7+qd`uPU=hWkeNj`mIPP4Uh3E$}V#-R8U7cdzep z-;=(LzE^!aeBb)M_Z9P#^W*uM`3e2J`~v+V{6_f2`epge^_%Bc;8*Uq*KeQSQNOc( z-+nG2de{t~41CEKoqL`^4nEJ!=s&Rho3dEZQ*0U2M4u;+^UVadGhjvFnI3XxE}qxo z_s2((!+XfH7C+)o;W<2O4dOT9SszdZNYIS*1*8=@TmeFEE1s7Dm4aG9f;N z=Kt+{`R_1Z5Sc>_2{8{((0|)}lT)UWhx5MhhG-q|knWdr?!T1ve+GpU!V{)V6|s$I zorV$s@uDIYjz3IUFiN++F$ zhWQP{`K{4@!~6q>`9)Aeoug7x6Q-u8Pl=k4nK&grDsgIhM(mU+QBx8pMD;gMw-82) zo^7>8-z1V4@AlOgzUm_*cES|ViSb{LafY41X}V2RYTQiGk??=wo3F~I_8&Hn_d)!_ zg)S)tkY7kxBzds#%luN4;?fBqMq5&!#1A4)o-HIo{RVZ&I7z$)`6Mm}`Y@1>qf*cb zUTA_m5|=`p)WLf-DDFT$iEAKE`VvE2e;_W7xcNX_0&&}cIL`c`ToEVh#zNc|aWZBS z_YMsWMil1)MpAymMud=fD9#5Q5s6RU{f0#bhWJsTK9Pj{A|oP)2M+V6yaP#$8VE@a zMU5C1_#J5*=w(OYoYG;DUf#ieNJrWWsYt(IzevAP1Fb2_KVfRZwAd*TI1h2^MASh) zqWhtHzu|#CRD@qRg=cjM;r!CTNYQ;m!l=NIFKLWtK4R9qfxygh)FBJn3yWR zfxaZWzdgzOqnEGp{AOeTQPC3)EFZid8DMNi=Cp*b>J4-t3P`;#Yeuk3XdRU*w2qF) z!{TJsXmkcsOk9G+mgGoD%gA!&WFY~pe?~0(x&2{v>E?R8-gFA zHjDqhpQ!)C*!xAtmE?JyxvTWOnM$R6tB-r}gZJ!JT9ValEmFDNGal9ta+O_ePrF=+ zt!g|RLrRupOH;Cxtv^++#;`eqd&VV;{gMLF-*Z45Kw>t17a~yfB`KSFyIBT zTf1v^{h+hQ5B1=O{d|8Bar36ED$ps{C*v1!BjU!58}W;XU&QtChs>&7&^4o9am`%r zn(Tgljx>JWrE>%So%f@?XRq83*Q|fVH48hgvHQ_AzwqVhT+QW;pZa)PVUue{zv7yC z8W7!o`1fD)WAkHlCjKdomj1Wn?|WPm?ni;T{56GN{PJrSc3i`^!z`Wj4}AGGS95t& z7Wi0|U96z4gHPU z|8f5kWz4^E{&`WM#gFIS(dWab-n~k=b^dMU!jIy2&HJAs{6+q$&r}^N{4yU)xi zEBz$dCI6owSANESm?ZD`@ab2C5BXR42I0o}7Yd_(3;mjZtNcT3e?e_mvM_q^jn@_&tgsdu*sx5mGX z9pRhazug8)N1W8IRsR*%eEZBUtBcxcCoBfD-+AJA54FP{_Ty!e675oYn6tmztemQmIySoFPMP;eRpDRc4~I{ zBV{JY#Ip;_>6_D+7Z#^|zqix#_+@>W**t^S`ISpQIX$^-3G9&hFQ=#9nf@p}J%4$@ z%1GIC-zGMB$CsJq_ujn5AnEc#I=3(}m5aiask@!@z4_VitxTtmc?u1D2dVyja9MBIw1pNgx!)eUhws&0xSarLRV z(NldcZdIyZh^=b1Gzim5wO=gsR*#xHuAUN;-s%N$G_KBw^|*RX-0G>`5VtGU+hQxO zej={M)d%8uT-_84J=M>}q^J6Y$$P3jhj5SdR1b(7)#~eFv!^;L)_baB;u`6R>v8qE zI9{!OEN=Ex*TiOAT{m~N`cN#Cs*lByN_ETFTiq7Nd#j}(xK^pAVp6J(h@-vLQ({`G zUNm>9x-8a9)sMxIQguyStyb@gF|AgQh=pqP zgg9EMj*0c&>bSUBsV<9YPxYqx_f+qgySI8ztVh-R;s)u7BjxH7alBl8CT{msUy5tx zYVw=mdbyg4Tilnp5m%3jn{oAo$*a{f#<+Sx9H~}k#O+e`x|noVKNjni>K*g%uHF+z zyQ>dO-d%kpj(1m|iraDZnb;~-Ux-`X)xv)-|4KCxo88sa*jqg!uJu&Un7dlND6Utl z%VMjydQ%*&R_}=QYW1GDR;u0?w|TDOYE*q9u9vExi-owlEpC>oFU`NZT6!J#8tIDb zJ=GC$t6V){?(XUZakINRC;C4=ep9`U`ya!P;Ul;P>C>wB;br&`{ww$d&caj0uO~kV zU*LWp_WTd~lR22ee*;G$I%V|&M2D@;z&{7C!M_i0!X~^2|15j}=@YA)a1lO(3~Q>z z-?Behh6f=1aCHQt>r~G`jP4gOPj1O7932X4Z3_;c_x`19~F{G0GO`~~ld;NONl-`t=466}XRgh$~mScks? z=imms3I8Dc1pZ6-Df~z95&Tv7IlK*Dz&`{_NA@Rw2Ofj}0gk~x49DRXoP&4ZHTZYo zD*R*cF8tT@hUl@?=dj@aCJs+Ej-NmKM&sQ#fBYnKEE9)kotx>Clixnc3`?Oc^Rp)tO=d@@ z8n#j2CNVC}E;MH6XO{_UalLtZtl`2omZq1rJW{Z5lb1YarYGNT*jWHhzA!gOmv3ol zQe=uuOkcCJP-dlyg?J^u+;nm1_u}-#6tQdUY3aI6zuteLF)`)Sn_6hhElkp6gm5cO z{kF6@XM=+YEDh(r)|fmz>-;Xy>Ne+TlU)2v5}iDE{LJa!aq@&FrAUD0$ou(&Sf(2v zd{Z)u>k2o|B>#^b$-*o*7EHHm`>(hFmj78EhPxe?p4{B8^IK+1zb}B0=B&x=W-L8( zPov#VDWppyC!3%CFeke_H*saDK@z$6+Zkx5=`+!hW^+QN*$$&wyf3UQH&>Qz+C00i{?^z93*pOMi+EOX zoY3-cz8%KgF3YYwNcFHk6vxWZ=OXv`vT#hmF=w~j@Q=;qv0c|Y+&2G6B~ks!$Gg1H zxI}SvgjMqX7F<{!ZF7z}JG}^cm?4f#t`hO_wq*;vlos6XF;_{Q`zPurE%($pEv!s0 zyE_ee84Lcq_%Ruqi_YcUKfX&pa>Tugx=G@C6ZeOUR6J`*G)MccZmn_l#L2huF6hvY z<;4cA0l()P6i2Rfkn#SxHmKc>v}L(=DGTS@F1cqft)M!%INUSR8;ILAFearOhA1mgm^q6;nrp9srInaWu$P2%xR<1V1Q?`n@narSn}@=B8Z>&lyZh(+y^;uef>h`gh(s z|E)&z(ljf3YVAHCt{pOWa7kXSpgY|ojfuG{3#ei3>p5Vc+SgH8mCfB&P@z%LBdYwl| z^Mi%=?PL;@pFaDx)o|j~G)7~7f-}76Sp2C>Ia&5DcgWnUT(G$6JlfEfO-)hAsqZn| zyPnzuNT(MUU0LbPNomVok*{3K0$pOz?;=TO=rN~N$d|4*-MgR8E~OtXQWH{+=DD&w zBfo`(x#@}dSA3}0mzk?rURX$%uCg9V(844qa3JFpj&yz@q%u1-J+CzfQkrC0oCkvE zaw-*p37FX>N^Xidoh$+3VM?FU%Cd~Rxje%(!{qezlnUB)?din)RQf)1A8IZw&ZU)R zb77I$0^)Eb-j2fxDWwW5s~DGA`yh-8&gMZR{@}-oeENMJx=o0h!_2*S(`BH|MX0n({{Lf z)3ZZdSCwC{yJWJ3DfjYOUR|8jA|^fCdGPIly)vq8;ab|Q9-Aa~8Cdnx8wS5;lI=GZSP zdzq@j)HFw;%~LsfuhRVcr?_|4A<3ra7gny!q-rL)uJhJ$TbrV{eR5`DcGA}X$vFyi zmLgeBFD*=clwO{gonw8KJn!&ZnV*_i)C+`MrPWci^SqZ?+uZIJ3ck*~lI4Y|P>AWm zWxG4R6r3;HT>G^&%_Q?YId+vntzFhWW`0V698vsP+nD+BHqlC_^YjZ#3Uqna+N7l! zdVzFqcAlHn4TUP5}DEn14Husk#E9swT?|NkAqkYY*>9+lRlUQ)?XlSvW)X8>U&6=C3LGFEK zp0#V_DDxz1rLLpmXw-E|ER?#&#d_3rT^x_PZi&sP>#o>}y6%gsQP)FptJJkAj>cVE z;#$=8Tue$`Ux@2bSLw%KTIx!~^|ou9muhPX~TVl(bq7gyu1hhn|lwJ8?3PcezRo{J;pt`}k&cNP9exJJ6-c)5!WQ^?C* zLt>%abwnI3cbyPN;;u21tM;M)v21@4H?Mcs9HcAjx(*p{bbSmN^mW~VGzMMwAqrR5 zL&)H!>oG*f>v{p1u<0rtvw7aG{g5$q*AQe5sp}|YTBGX}M7iy{0O^>!rr-)}LMD#7 zZo==u+mM%|>mGEu)OdCg9W}6l1Er0>H_tZSJahW&2`rU3wsoF#AM#CSr(4#n@Ux3G;57Zy$D&&flXhHy*L zyK~oC65J1-E0Z=j3;M)P z9X7n+!9SFNb^GZO717i$^sM&y_xr?%-jzL1>0k?UD>f449nf5p>r8WcLNllt_L4YV z;i@`KMmy-_GOROQ!eko!EG(knp^;|$L>{~ct{z)<>Zda2j zakQFT6YJIFV{yEitclHP@~POWCZCBL)#Rx-QckwT(Q;CJ8`jIo0dc&X91#n9lQZJT zYsr+6eGg*7{t0n(Z*pHu_a=|UHSCkb^(1*IZX`+1x8W-BifiR$L@ZR3Q{pz|BaZYW zx5UlYl26V5YssduJ9#c9-AU<`__d^8OuLg&ailw$6Gyv~+hVa-ga2B0GA6EfCsXE*l9o8~wPaP?=uYm6X(@RiZgwY+#d?xF6UURJ_zp~Zl2lB4 zl2LJk{D@oKNmJbJPCgc!Npe?gCCNjPF9SXk3zg)hxEUq;&cf{|d0pIkEjb}3mE?k$ zR+2e!q>@|{$1BOlVtsFNTio88+!IGD$pe#Dl1F0mwdAQ-NRsC!?@eBcX_5@R3rDcE z6GxNef|$IPG{y9_q$RdW$t`n#Ex9Ka;^cwJUrQc|Nt|q%f1GTKBQbe`^{-*z1=+|k zB96w%1(V0gbuq0bpNQjea$ju5$)?zflV{>8@%%Qp7AJ|g`dZR2uE)tyar|q^8Iw~k z;zpd@5}RL3?u%=crH+TjJW@f; zU2&XtK=gk!w8>|$%pTm6w-hyY~ z$8a3pgiZKs@CIZ(JGl+7!+Q1WvUf=C;r=6V1O6<00dW}@iTLt zg?HLzhZkX49b%PA19z{7XEMLm=iKc8IX9`hb#*5@fBM^A`FCy~fy-~hmZiN2V}R+8 z+^{Ds!*WlVOt)$)DPBhTWTFsGvTVV{hg-SS4i>^8%Yu2C<^&EiWyXRVfBEO+i+mTE zR^=^h?)in#yUTS2W2VMD^P1m3{H-66a^09 z?UluamF8jh1(Qyht!T_@po83x+2)t8EL@#l?wlQh8B2%+W zOtYvzKVk2Hi>o7?>c0Po%8q#EShAa5B)KKtmM`%$C4GkAUjLeYtw_RblP!8P_i|g~zkZ$LjOIS1uT~HtdOXycd*Z zhhP5v*y$JQ$WFPEr@33u?CWmnG4$LacMrGy(Cpsb>(M-X_(GL)NSgt4#E&Hub80XJE8hR=#QW2sRov;< zejPj0wi2^faThr?q$A25`T6RavP*ncOLlo3cf|XZuOt0QIH}h<{ zwyy0bi>O>!Rd3(kWnnUzwU6z1^K#ntj_^~{R~DzIJ7shbd1a*|Jbv%zd^`Lw3tXO< zU%1L5f8)}`(k#kwhriavI(&2fHuKc!<_k9N7R{i->VvDMgl$}2T)-Yq%VX^{GI{3> zWO>N@=WilkuDQyYU6;vrlxtp|FIUO^Y^N4WJK|Yl;mV~arOv%FUN0k@$@HZC?`+Og zLA=aLs{PwG+%QXO>F9cUQRucqc&9kF{mm_X#K)m7{;-Ue@@{o)-mSZFizTKR>{k2j z*+^~h?{WLKc!zTGENgmSa&pUpl9aqD4~v032e(x@FC|~~cQMo2`EuvvrppAkH^I~W z*mas2w>RIFiIYuYpw;2d-Z$qzbxG<`JB}~uUa~ZH_jeWOKOc`e*v_3*$}aGq*nR=%a1R?0b1xx^A>g?~sqzZU%u_ z{O|}VyDWcZnBvzz{Bj4D)UwxbD;PQ5F75CjK5Hb>sfB50=-?OGQ$3k4^HWx2R-}0j z0_IhQwoyu6(b4jTE!L3U^ki!NJVqWLY7s}~lzX2S8cf_TmCN;EP}(k zr%OHm(mc&#wRyG4f{N^!oUwzgorLur)~Z&nqUNaFgRI>gq@i1R#g7FV*?qO;zTpjV zxa!!B)7xN}!9oaQBQq=2b~qc)N2OwA|j4ZwqZRoUrP_W2bSHZRVY?SWjr&jwaUzgc+~x- z6IxjGy?c=5-)0-TWtX{Yc-d3{)XAU#Xpwh;x5&%{v6dXt*De1LbeM_ zbHs7k8F6Az=B;!y>R+(^37@T1-3l_h?VQ_P(P{4!>bkSjajjBTt~^vH_g9Wa z@s{ReSEG1atVeP2ceLkcmA3xgeDCeXJ15`KxSXl>PIqHcX3%Y!sX(JqTKb*DGg?mf ziQ}cTU#v&z5plJYj*6{vS{DoDbX*)Mr%huiy)Lem(p7P_oZb2oMd^L>kJ5+Y zc$7XC*Q4~Av6OxxHcM&ocfsvanux1$nu=*T9T7L8bW}{r=_zqDN-v6AaXKfi$LV!( zBTjFcf1KVD*Wz?dY?ab`;#QPyh}%*6NL-E5C*~igpNku%^o6)pN(&9RNq)ov`4N*i z9TA&xdd%dd^o*Fs>A1K}e#DVDy(ZSn=?!tTl-@FTDZML>m(%+ukJE=@T1q#?q?A4t zo8|PmSdY_};#xT^jl*@GlQksKRWE~^bx(n+UX>r2VMbdqc^_6s^=j&PrNe|#=eJ6b# zvR=Ts2DVOoVz0+`kO(KpOb;Q^)o?w*|%tyo1atj%#R^hmLCnr zX6RHJv)Cp#fEX*~cZ>yjdl`@0HQL_dK>r|_Vuk@X0B9oZo8eFJ0#6stBK}f z1MOyVhJ6+61oH9PZ(j(q7S5-ibL){6^c+Hjy7|lgp)So`$>gq{XI*0UZlroCg3Zpv zWjao$-%MOZ`(9aCSxWVcQnO}W`~VYfl?C=smv!=>44DvIT4a;aeA=9CP8U=j)cGtS z>aQZW^pPpYyCsT<%*2yd@2jl^N+v%bUgAHxa2}7NjoljSm z$e(*Z(hq(FMM4WW?j6B|i!;4s$BT+FBXyO%LQ+eSyn4?nSDA6=Zw`AXU#xat?J`Q2 z*odR84Q4;3$n4&B4Zyt+k6!0sS1k9^%H&KM-nX5K*-Ca!idrCSvfL|xjuOsKal7|| zPh0*z=KXB#U>w+%`O@*RwB=CI|CjnMqn+U_)ex-Rd|t`aC)96ysT@yvBvXZ$E$hyzD=1Rd*!% z#)V1xgVE?4Gh#jZ#x-#~`o>MM8GYln=>M=g{l+J_N%|WPAl2m?n>l~A1>ffo%Eo03 z_Aolg-1g?>-2Pq7{QV30*1PYtjSopvap^&8%WQZ_Oh$pdB9rc$6_L;IMyWV5L;llp z@r0O^i(}$Qxi}@(yNlPv?NafkSSS~7i(94QJ@YRYABdZ!;v;dRT>M;2O2rrAdR#2c z!a{d(zqnm4zAkQ+i^s&#a`B9qbQdp*X?Jl>9O*7z7dOkr!wvM8@$TZP+-p(suDB69 z`Dn?p?m6z+4DzV>slty(#Z9pp6`zZ(s95|-xE>V`h^uk&h`3fR*2T@Z*c4mk;>Y4f zRJ>>MsQ5_SA|7!&E*9SxiAP)`9&wd&6bo_jnwZ4J+hQ6Q@0+|-d@PQ37oUqGaj`Hb zcUv8dhI35>Q#b#W*Xa1xoZpFnXChso3 z5d9zZv{<-m^|ZJTqPG=Oi2heR2C1S&+4EpeQmo@fA1uy5=9G#p$e_D;2cj+%@4*}J zGl>04@pFhiReS-lJ1Hjfrk53mU=#N-h`w380MR3hP58UvP51-223O&y5IdQo?03)? zi;sTqZ<5_j@d@%Z_za@Q6~BPk9~F}YI}f6mLhN^nMLiESteTcqV{0yQO7N5dD312|;$zo5_^xt9%Z{t1!v9~XtfuF!}_@`kD{u#Ii z(Lamp5dF6J5Z;4Z5WAgX@q4C^77xH%xJMv5Rq-O^oQ&c!ybEu_7F>hq?ZtZ#eY$ub zqGuPMK=kn93rL?U$gO<%orVoI0rBTn)LGZy086>iei}L{Em*{8 z?o)0}EQF@&-2~C#e z*1^Xp0$QZ8Sw`&}Z?EbU3LS25D`eTpnI;8yxKFwBc0Y>4bmb{$HGGZF2X=Dl~Jv#Jt3S)D`ex^ocy6A1CUh(7Myy|Du(%EJ0Yn(h>qIAQPrt{XG z2D&*{HhH=B!*jsO@ssth@@rhZa`_D_*H^EtpFjVl@#5z${gP{?EV#3(cjnjS%lr@T zmT%6){^0O8U(NG{AN!`&<9vLsZnzS7Rh}<_&iLGQZGV3&9ruzC6Yl2A(g=6+s(-kf z-O_h=q~~n&N#P|7Wp0*t{yP13=3n-n}z9|*=y46Q68By&b@2$qb@Urk4`qZu%cP>OFD?hZQu8kkRw)? zc9C11)CxbV0Xj*8UGFn&z-Mfv>1xWt{MyR^JKVMvljbX3n*ILtZhqNrkt`m+ucXtx zBc9nS?DTCfhJ?+le!kwOmFMPUP)Gh;SmlsGpT)!DcC+eJSDSCx94up>D~oK2Wp_Q> zgbPzwzqh-b5?ACM!6~`RvpOSy#aQ;l`f*yeznyVWhuTjYMSXIE%P^)32SNllBadlx z8u}<(MPmHm_Jr=-_oBv1dt9?{GUIbo>2`xbzA(WAeQuIA$bB1^UGLp~%B+%;sDL28Zl7eZMw4_QJacQ`!$O1PC`xKaIL080SM|U@ z?|ktW+yits|Giv6=tax&(y?x-HF52tlH|71YaL{1?t^cpi<~B; zSxFXOmhC7k#@B9tbi2KDcNyeYCzjq1^)AT5{fF|%zpP%z&<2}g=OyfQM;z+#bh&USWIVINPJ>%kdyk|~q#(S=bt!U53;%c<#j<_D}xhHPK zdme~e(VoZRcC_bnlSg}Ah?~)#;s}11*!IX)*xNhp8JsT+n!CxxNOfe$arl};X@lw?BP?78b9oL z9Wox+a{@A6+@pOQ^iz8-;6}~f(}avG_uPa{sC^Q&wR^Nrf^pxTJIEPt?$P*(@ztJt zxEW{e(Y^;N?H=uWV0^XbA#%o*d$iwy_G*vzFEF39XA8OA6#vtjv^M$jx)n~GvWLE; z0Y*?>FscYDKKi}$*R|R$U>4U**=E1}<(kE9%TQW~T&lkeG;(TxaHB>vwA86AMxnpe5?ZJ&8FPDgW9h&ET=(zlUrHz#%p$8x<|=#L#@p1)i!hI zRI=a>-pnmGTofoYeznsTG;v#k_-dHeVfTTo!=?jwhusHm@@iu(=}kUfJ8R_<4X|y2 z@NF#aFr8a)ZCB{+eli@vvP1s89db&9#ByDm5AWqUoyx_ZlZU;x)@J5gU+P>=wlr~h z+I6Bqo^PFV{d=%VGAoZ=<@T(@9lB@fbf|2--|j|zpQiO@-B~ob0<=n@!)!QJrK3~f zd9~+YUG8(2sj3ucSGtEj;=QUz-ABdExciK_6?adGg}D2=n8e*T#qGHJw#iG~pP0PV zeP3)w-H(iM_fv5->fRPd;_kxt;b`2Qi1oNT702W55pgZ*9u?Q4?lUHjx-XhM?w%1_ zq;HJ6KNeTx?lsZ>(cW~g$ff)f zN7#)Neuv?WxwD4Dhc&mKJJ7Y}&NU#C<>v{MZbyURZAg*>tGh$kau8C{i(M>U_ zM7PE5?&uS--V;3#3zg`RxLS#}#PObJTih;3UzocR_52j>kxJAru9L2qbVqfu*%OVM zJdS3>jh^VbIMN;6Hg_D|6W8KsL)`3%w#0fAy%fj0qvWUIR(I4d7D~}kaXXIAh|TV3 z-29_xSxmVfaXgA{i6e1zS1fc#pNgY#^hm68KjL;2ZHq}96@DMws6>gl#{G!RC^{mp zmZG{iUXG^3jdFBdY;{Mg#wc17*Gkc+VzV4Q5?9O7=O!;lFU0k7)N@1fC>j#iOVKg0 zRgT8QW*p6#JC0i7NGZBy@=A2ijag_Xu^>S4D8Ms-AQgN#i9TnFrQQh3cD{hpc zmbh7pR!v@t?uy%#hghII#Dww?*Q2QTvv4Dd_KBP2s9$XLL?dE7j*g1sJZEvVJDM_9 zqL#Q-j_!z?QFPBp{SjAtqDSWLjX! znJ15qz!p3Mng5Q);V;5vco*J;e;(e2zX2b>zXBh_{~11mKLd+DZ+c{O05X3cX>|9oz^U;_jfn1~}%O#q*cZSKib(XKX z&`E4==lHNjK0eN^2`rFZhXEa%$2pH`V^s8KN4>H4XY=iEM1=1i@-RvG8~bbisK?U_*=F1*QPNwOoH z#v~dNgz2ojzf%QBM7Gi)jT3I^;BB^OVvByw!h6|!{-`AD-7KSGMmfP?{_g1QOqHq^*1?=oI1fApXDd#ZiM*-T_<_F zoLxR8bLT#KH|rHg59=V>;6C{iI1#qp?un4vNKR%dbl$DpTd{_tBwgOLODTIox$r^e z2TqpX5Z12|b;y{1%-rZqVI60u%vZHn!ZuL4vhq_pet?#{9!<|5eC+F-9nb5+*#Rh~5>DCgfX<4-Q)+)E4`&CjZWfw-4v82xo!g=NhOE zKO6g~ynF+01ap?RRuy#DD!?VytAebv&9=!Vm5f;iUY>1ox~U8l zS(s>_i>>BHago0cdA8!!Ay21fT;N>Tl%cH&^D_1VS)_ScXvKVT`Se)qvsTNzvYc8G zwGF;##@O}rp~7TOI-LLPs#*JaF=S@V$(>vNeYYbbn|o`Y6PJasN)yK2S^5@-TTfG( z;UR=@**XQ`@aJ8zY}vuR3cs^XVwbwW*=}?C$OX$hlMLxC-LO{Ym!7n~YMV3Ee6ncj zrpMaHr57YXS&eyOjzq)xtYV_i4FDqmQ|a5A^VnT7G$HNWh(bOS_DFv~)g zvN%+?!~V_%WTitH>MTmui1>OfHsBwnvQ?Sm(=%EVa#p)~HqA@=Nud|O6sw+L8uR|m#mgPx^JVpA`Lwk&-yUncVl9Og5f9NVi~D^#m!(qgY?cblYm}a79JL;m zo{6JT=?k$Qm5RRz*P>F7I3AT!u^E+K7h6&3sJIc8PKf@G`Oi`vH{B|{S?n0=aUoC8T`fp$ykjzJjaA+_|3M#?DvwFFJD_eEIHrP z;FYEJQF%jsvDJ+2xO{(A`7V_=#H3VyB&MbEV{xQZekQi!@=I|wF7Nv#I9e*dF4jxs zBjR|eJSwK;a$Vet%NNAWxI85`OXX#;RVuf{?NWJFER@T4#nn=IU0f@b?~C=Q{7@W^ z%8$fmRDLS9qVl%58kGyb3`e8#K5;E74~gqh`KY)NmFwbWRK92|mFL8yT)tucrSdIt zJucr9w@T%QCXdTc#6nztE+*W!n8xMO58-;Lyk8uN%Om1wTs|SzHD8GQrKa`VS zvH6B_KV+S+d;~V(C}cjST!+lVmo;y};G;Z+8~e=ibr|mZ68o#Cu;>@--~En#R!YCs zP}wj|U*)1j(WJAk>5y4###mj~YS>qI4dHhfIAe#stDNH`G`1&+K=&mp$>tU=HG-W9 zZcdxEFwOUmN`uS)c7|1iu`F|fz2emGaJlv;ct=AA4olTBnKlCGK8Rcw1X?Ea)l+?$ zrp`V;`^Jv9DerK*?6$*rJM%1zxm_U1=nS*HNlMpb3+;T$t-MON_Hz>YN{of`$!EWP z(j9Jwf2M?~k5gQ_M&UFW(BZDPC-*z$*)wa0-!0Dev$b$}Jzw$pVlcm45#-#t2z*}c zJ2v)B9CxRRr&HE0$F{s3yL4;z7f=7l5#J>fuVj3Q&7bh^+#K<%PbsK~%-?i>zlAl( zvDd9}Y#rzIpHZKdxm9ilyFGy9!?U$#f{E17m%|#ij=5Izy$^)=zUD>fNa8 zIls2n;JnZ+iIbCZ*l4yKzRtr-A>Uw8M?F}|w36UwCP@0`0cnSI(5dP7Q=QQ*g~Wcd zM^AZ^+fOx^o+!7@SPmc3(7qV$^9Y5DAG_bLF0lyhRQ^zi#MS%&GZxw8r0>KN&|zzklhX)!{-xSrc+npzA=>ISYug2>4~>Web0WC_O4m#E8K?T zabGHqMt#S`dek>&@~Cf094Ym+#AeiYOWch6J`vYSeH&sc>U$~{;=X6bQr}B)HR|j6 zHMk!29T3yFZ$zw@`bNdkQs0<368FuB24uaX z?+&D&>$?w`pYPLrKJ)l}4{`Ho`aXyBe|@Dpwl2|^Li*Rf*CG8|-x&Ng*o4gA_uYi_ zvwgQA-ACUBY{AFyhwufw1$+L8^{0JDApL0HDM&xsHwEcO`>sR!(Y`y7>eIIlc>($! zLb|8Er;vWL?+Zx3+1K+&+vP?-BeSy~wZ&SNNHOeMoaNnB|M#QrqhC&B0T_cc+`;ad zzrUifq%V$4+P>Jf-=rE1Z2TB$@SJjTJCmgCX69wKDMLWiOZV=!{j_py7FxOMC3EwS zE}S|DX|-+ys4C%Z%13YMuA3yGN zavWjtB#Yl<`a+o<=+O=rN+`ssaBfiJ!`Nh8`?o!ptPq@>m3_Vzn$O5C@*VNm!^<9O zh+nfmuhuI%BLD5oTwj;X*PQm@8D}L49O+0qrYeDzvuTzNOZl@aQZ8 z*>LKUKp}5d|F!3~9cA{wI{jp_mRnELS$fR=Kh%CZ)=jn3gIp#np0U|DS-( zQY95zQRRrSR5>B8mMT-?MyYZ`TrXAbifg6HhFB<7o{Fnc<%P-1mEy1C9wAAaU~VkA=fS*F_6)K;>n{W%FPgP#R zpMwWJvH63_>kxZ}$}z~iL1hf0PgUk1`c&mQM4zgxLG;PW21Ku_X#Na+u<{r;`eEf6 zL>-@BkN?u-Hp zw$xa9zi{^C*!j1P^I7Ec_3xZ+$oj#}0xRsReokkRpQZqHONyKG6}infOaqjkWFLIf z`f~dgtxJDw?A+-$-y1vWrxj(!eD?H-5WaDI7k?%cztW#c#a;YODe~Qu`=)F=ZWI|l zukN}o=jRL8bti7|)bguu-D*L|-;aI!_MMYsr`|nb3w&7^I-+1xZnBdX#!j9+fBN0C zUvi(j`RDIb57C($cUTTs+%}P8Pk0jRYCFbZhkU0j1atR#=G}L{!?C-$<>U^zmXs|% zo8(o^MIquViPy4k`c87X?R+lG$+KhUIK-6!FRS6%18v8#)89R?o&M4;-BEL{?zl;2 zM!N2EhPm{tu$`MS3+LWgeC|2$v2e}A6~5Cx4sY z1>n_;T)mKANGsHhw#*W@bR@%;M!&Ok&X2u&4l@}j-6_+f-6?CXEON}8%scpku`FqF@wCJHd*EwVzb(6uv2*X8AJcvK zYn)rf=i+cmxHU4_HQzmX?)2L~(WoCkcl;figfhAty=$IGt>J_z;je%x-AC^@MdP`Vj(o~G>{Plt68TXY|+EbQ~gBNF!m>w&c zA3Fq$*GS=(4)b zslwh*%a=&lOoQmz&L0$eNC_KEfGTE93N*N%uArP>*BHL6_{ zTT!hku0^$$xhY3ux%P>;RjNG@w@bB6b4Rt$#ZB%g?5PiD#2}Dn>J%Fq5F>JwYi2hnD{w13)tQ~;7__Yy;eo{LH z(T{5vA?;1=I%Hn5b_+7!S-S`S1pEyCI(!PzqifG0`f;uJso7iCQuwEEAAx@yo`UGb zwQ-1ETx&wQsM<}4K3uy4KZYA4cAiRY9XI2H+6Mf2_!Od_*Pg>)gQdT0cFMIOco+9k zh`wGs1({#1U4ZE0wHb(hUwi(B&7an;<3^va-GQ{ZwROn2qV^g51^5&)|5|$i=?-fL z{)*}Mwb$V-+@tV^@B(E1wl)Lrz?%@e_1Ycy$KVEJ{T0cb3uZ=>+ zC$)?4r(qK^4yehlnsGwyChp&W_r7K0k=h;Hp*~EomdFP|Po6t|#?%|h=|C47W)>s$ zi9>g_C62ireL(d1`O{NqU-ljIx9l6&EVrS2X)pgSew=ddyg4tB^&EXSQrd?*lu&88 z8PKcPb@|_3d0^g`p2e*m@*92KjV%0ctdUvXd3b}|hlc3$sgJ{+F|&y0INuzPCP zITfsvoqeP6=IQK^4U>JzGwbxjD3{@#WN%Vo-_l8yREFc^{k)GG<$-3=rDMaQ6DLpD z7a-m{fBf4gojm`}gzNG$tp_U&bT#AY`f=W>H+9N})eZAAJsGP~8b`Tpc+;63lh@xp zbNVeTv-25McrSnFc)dn6WeG8*iUHKK9)Hl2Q-fumF4+d2E zS<8zId$~rfQm;Fnk@G{p%t^Bq+X+-*Yk!=gp9LW>*|Pf9mUU#CHE>@M()LtyTgE+D zRyt;ubJy5o@ufw($!CABU^~WFZkI8Z4KXtonOs=Z(1c?jHCL1_eZ==@t}*Pnl8sX+ zWjo?p&n=8yCYIb8_`$8m&%w_uin|ID`rpVG|A2=#j`#!^q7}9c&2!Cs%I>$+NcKgEOl?i%%Z_LTkfqQ-` zJB_#Ko;g}aGg=xMo6JX*8}7NVSrW@=0si{kZdLKR+q6Nn4>HG>+*c;9Op`@cFuWZ_ z$52bx`DT$oK9Ou4!s>ndT8>7QqQk(|z1cfcX^+ocYTjQ;Qf5E=sw_9G_nGuzKAh1( zvi9t<8(HMQ7e?|r9K}CS$|-xna|=T4br_mRHV$jnrG1AQJBGELoIm}0eq4#QnSX2a zxo`Igg)rvK-Ye37Mds%e@@qArzH(+NOHZ7|$oQ%EF%0=eX?PnW z*{e-I|7dPa)({~3o%hT2sc3+coOk?_Q&8L?ZIgrTN+XsJl zu#;AA+qPnwB<0%;-dY^F?Ile!8-e^*2eq@7gyME>tPP7Kr~TFbf$8}VW)~Oc_2CST z8gbv8xArg_uP|}uhZF_Zg1a}D#()?ZXH4@whb4B~X`+vdw80^iO}l;Z=Py%)K@-un zq0R93V7+6=1nNO^!Zgr!OOg38DXPXV%a|ftjSsH=P3rYVd~i+Njt{PjN$KE2aWy*l zL|l&!J`*>igI|bi(ZS;1f*aAn17bZsctqTa4%Wr(=-`w%8XvqS7D@*{7Ss6P9dU$o z#PRsxXJRux_(W{Q2cL_D_+a60!z4bKiuKaLQE@FkI3=zVub7q&-V{el2iL@{_~3nU zGd}o894#GuD*8X(&x6l#(=Hq=Y*;&UQ2WtoR}S8Ty#ELHBd0w$I0Sj`4{9ESPW|8+ z+_X0bXCUp(!E2Cq=HN|8`*iRYq{#XJvw*_(jFb0f+4@})>&OTe@4T?!z=T%h2ZA*VGR}Y?v>@sM|E8$!)+HKlWol# zhr?(&b2DyX3mGF$?{8}f;rBA_2Gj|w-w^fWV#g}j@mDS%q)y0(fm=js^`Oa89DNceVH6v(p)~+ib5Iqvr&DR zj!k=BcK-O=C*M5&ZC_sO06&T)S1z7c{IR98vfuT3GqpRqv%DAtaO|X&es*ujI-bW0 zM^#av6D!LzD%7P=CSD#&A-mqM#JEV6mv*Wy%u(&)<$f+vDm1SQ9f)6=3TNPH0~QUO z*-6=Yg&JR9p8i>9V-nY9hjEPem60o&X)yc=I1(rLhlQM_!*tAH)D_I){Jkb>pG zcL=n*ZsO7s?JI3Hzioh>Z=|_Kaw|k1jk&F-lDHkW;S@7v!G zX>a>aK-$~>i;(uV{~Dyd?Y{$QZ~N~<=9Bw3A*I>>3}R=}U;GEANA~ZBw8#CWfBxU7 zJ?958x9>KhpmaVpr1N^O?1K_PqZBq&@GSfjed#1&ccH zA^2ORclIB_>)i3PC&G35wpGI-nzoS&%I4(zZtACC;ZB@;^V@F9$_#Yd;X4!SlrtHP zGSt3)7K;@ckXdKr+m<_hukDtdr41ho?f8(%0H6D5hvTMpy0z;>TQDh$b~w6=T*@YQ zDyJ#TmPV5a4Zg@@!@XSL<@~gi?egQovP6H0O_K9FWbDA`45#BSsjB&F?O~y_yG^O> zG;-zOwtARGk0Q_J+6A>CZaZymJQv2mx%*S{g)o5J`JuwMoO;ZVn+>#XxL|cA8x?2T ztt)?32^*FN`I3|SI`m40f_&%q5nbCKd{uzyhiI1Q+Y8!aT5$eZBBs=nbS4k=CiCDP z-8EVYo}K^g0kfiI=oEZd#N58~fF~YYu z)^g`wV#?L~(OGkj0`nrOIv-9?=yv$V-r|yK)$Edw(Dj2^?ZVu7YSztV^71izshK;A zKI@AL^>b&x?L@9Jt1k16JbS>}jeMC6tx78|*EjEihbCBbShOXofsR=b=ytirS^-yP zih~=zOe4pbjL9k6`CTa3b+gNC(<2wko{vyG#<+C!4)oFK+%`EUXkaP z@#!!3e)bP(cekRwPsHtL?{jf9+FSTXa3tQlUo6CXhs4!*?=f*L-a96aM|)?)&1mm+ zF^TtnET-|^J7PWFdrxe}dpE@Kc<-h-8t?sF+=};pA#TTeOaB-aN_$grJ>EMaZp3>> z#ZA%^lhWQ9(f`rE?bSI~^sjrDkyFHbZ|3~%Xb@Qkxn`*F*14akkG-pHy{u7qi#RX4 ztYx7f^fK!R?1T%JDD}lKFUMBd9Zcih#GYLm!f>q98;6hD=w8QUFdyR5_HwlgnT$ri zef`^~>m2QmCL|q|`&1^>mHAgT8`sd|TvHrjoWt(;!!y&@crVy=QTRfqr8&VBZC5l?INB%74$m$eRY}^l57RHrg3Bkti`Lm zd}ZEUrEs|j?K(G&h&+po->*c3EQ{pC`FA@ak=rL~Q;s&7MBFC#cEIkc-cyI z=_4MMbBA=~7YahZ!%crUJO9nYxx035m*bFOC;Lf8r>^Xs+r{jDhnTSwv-n;qW-ni2 zVRG4?pbHmrAv+A|@pDWfy0dVcZo+e2Vl~vSZYo97p=_;BrH~t(bHAax4CP~;Ee0Se z3;TR4r}_BPKf-LMb+L-GyGjy+PCV^=X6D;Ah7g#^%6yERk9t{mHlpa6bc88i8WQ-d!|FEC<~n1I@tUd zyw9VR!IoIB46cgfmBCNMW@YfcxEc*^ifhr}Q)Bnwb8)LQSb7Z8%HTe6y?e0V7!4j1 zS1W^O#I?%cxH!@?xGawL4Bj+%Ja}77dImoc3q6Am%|9M|DmLT6=VB`!{6buf2TT7F zj+X}yh|Tig5i#u=`^DZgdZh7%PLL;(BH9g4m+mME}S09&F+M0bGSY1Mk6~g&UCZ@Ze)e1s;43 zQ7{LK|JvH!!G3rH_XxZNMSN*$oci{(0QT;IG0u#4c=b3NoG_T!ys&gEt`R%-||qg?Az2|G{<0 ze8J#DNL3wt41XDZ4u1$=LK@G(egDSn`38@`tbFW1p+-2Ct1zVxTw+KP_IL!h+FZRF zPNSmD@Zmz+7u;$)^WjdO{r2gz-g3kL#%^CLm7HVe{3fq*S_G$8USmnZ&Jxf2sS60< z_|3uhoI&WX^X|;*%*&Y}n|0^txp2z5n>%Z#X}4py-YK)syX4YWIDK*?q$#(S$MSAd zuVhVPol0kX=BIXLN1P0YJ_vD`lIBjPGpiRf#L2rCIe$uen!i64dB>4}9rE_EdL7}V zlTOarR%flU2S3x!{q^nppaiGFnUJmwLl(ky_L$w|NLKuLKYPGFUWK)G(chCjV|r6} zCKLtZl<)H9?1*e1Xt>A*@nNuT-IsJA>$Y@j>bn&rY$kQ_@a-0FIAoIq=2x3u@8@lZ?Lh=x|h&1mSJSdWJu zifKIbSX_;VJ{Jq|&==x%G}QC&U_BbzCyqx$L*iC6bWChULt`e7hi1gJXz04Q9u3_x z|9I%G*ouZ8h)F#3NL-DEo|rrydM5fm8p@%Uxanty4m`DfdFXXWe>-#xGTs@gLmti0 z6r_NMu0a}up^qWsuAw!^eEiU-kbZdRA*3H3dJ3EH3mDR~g?5cVmasuXI6XPTm*O%f za{wsh3@mh-nvRn&TSb~6UH^(7Mh2+OJpayEG$)Xc^S#sNvNbOna=S({x2-LVObP|b z)c--7H_?1wXl=br=Q{*Z2xqNJKA%}w8lw={%Vg5yXJafqrQ?>WLO|}5u=IN)nlNB8 zJh;8HeYCT}<%d>sd$S9>M*TpDLVj&GeZR_6O&*&40-t%(mUYb#GFV|GFu~{6%(jl1 zp!Vz@?|X2&kEGapr!4yO3Kgf%fHkpU&CF#Y7ZKrdGXKRD#t9!S^|SEHymD^d5ZM&M zowD!EE_@h5g|)ZPaQLR2_t>3RxV+4nlh%-tW8Ws3ZIz8Zcm!ryszFX}22nSozwzi$ z>)%sdZ z$yVO9FXq~mp4%79_CQQ+`9!?(latTtw8*^MZ^iWS*%zd!NwX~OeB{E}CP%+z6K%}W zbv9rt+V^R0KYXpT1uyIxz%ZXwuKsSLuo7%NNIhmvM4djHiu zosW?XX=smW5%dV@mfelGeqC1D?vNm9YGH?;`GtVN{J{0;A1t7rrgjh!Z?3X|K_r#~ zVZK5>)y#I4fs4RO0Pe8>EwVVl3+jE2|cE|iBijH(%h z!i_><_%ZGuz|Y~&!EMO=#Bk~VF}-V8?LO`4aEhB|Y4|8)US;?UL_HWDhra-?L*CEf zJCJ^2Sm&A1P7go8joLlD1?dllUqbqW;hz83^tEA~bB3NboZ_ZEAJ+M0wA;f+aMNB7 z*C9>V@EoKaA67rXJ2-qDH~q-4`T_cn;aj-rmxk9N{mSq|h&{#d6G(qD{0uhXOGv*p z-1FS}so{P||1mrQ=|6@~K<4p>$KlVyWq1?bfHZT%I^WEd9_=5twY<9=q1>3fgivlZ z7;oymY0V|D4=wD;7rx>q^ScwOLr6 ztsi8Bu1Wc}XYS?8>7i>Cd#B%O`1sYy6|?kW1ysU;FJitlynotAnHR&x@cE_ z<1hHB2WGW7h?3#7tA(6*Q4l402|l#G^AJsU{7AYfOB%bOBh@$SWS&x7(tNPE%mlqq zkm|ZD$ylU|UJLUgFSLlPHZ-Vqlbe{j0u+}`F}E>Vm4VV!%uTKkCF$CgqNJO;-;&Z- zjF;N-;$P^YzM}qUvY~D;#8YE=qiFMA+{M$j;w9eY8HDDDy`)1C9AvAF+H`H@QqkTD zNm-*c6EZDMSEpE93ZjmMmXhj2rNW>11RvFBX^tjlmm*Gia`jiY@FHXP!d=td6f)2#nle+#D^CDl<0(p+5>4b`mZ&2E#GSi}{-^KKe&LxF~NSB~!-YGIin{vMNDQa~W zt(L8vE6T61oT*td0jUE+Xm^Z^i-@Zb z;<}?cheDp}#7qdKd*FqqQl(T$v)LjehiaPEdnnC!#hxBb>}7i_P@tPaWhc-_q4E$ItWfz0 zj8do~1;#2=F#_Whssw>a3e`D*DGJqnfoa57V3tBvATU>;;ZryEwAWEB6X>R+Iw;UbN0lbfKwtGzV6cuVPoQNvRhe&uQ93G9fw4L& zdx3GpPhgUcDneii@e`P)qe>E(rK7qgxf4Huxx`N(=&H(mCp6GiH56#7t7ZuY0g1+jUKp$PzeSxw1s&4{K%c%^05a#NuECr_NtK0;p z=&QyF%+gn_5*VzjN){NUtI8A@tE(yy7^kbM{gW_BS7j$KMOWo5Filq#DKJY{wN7BJ zt|~=fu)Zo=An2)d^9ZB#RSg9i=&76p#_6kk1VTC0IEh|PHB+Feo@$vuOFdPRKzlva zIe~6^sx*NaCknvbi}2x;D}$|aO!H+` zYkH^ovC4yx#&A_6Ax(2sv4pe^P$d#35ndytdA>?~_mJlKs$6=fdA+Jkfi$mIDG3vW zJK<(RZ^A8vQH1e?>j<|JCKA$oUv-X<=JTrigog;T2uc5>`bM~qQ1_2CzgJZwr1`zd zmXOvnDzWa^O*qq9(mSbyon=~YsKj>@Y5kzGCx3egT?lC%q4Ff8^^$5d;WomVgxd+% z5$-2UB&2ne>L?+tk5s}=NCM#{dZ%@SO4w~?5}npts&9m}-ckuY7OkUH zWw>PbL?!GnFQE5o^uCbLoNy7L6Jac&2jODE(S%C~XA&+YTt~Q!P<)?pIia}cL;K6B zqeQ3uW|e_Sbz!$fCG0h?COk*<1B6+GYYBBxvUj2~CnP&2Dq(MAJ)sl5A0+f3+(76@ zNOnzBk%WcyQc_J74ZxjxxQqFurEILL@Lf!=)TWrF8TDW2g;vouZdQZ)_z(3T89c6! zS~mfO^der;q@<9p8Meg7(&Hqfc~GA*P|p)J{%LPa9JJJwpgP@}TRf7ioYi-`{QWwq=WaB^ zmd+)LwEopilDwKvp}SOMvc&%8Cdc?Uw<4*Ea&e|}aieJ?r$jZ-q*dFkNHQX=bWu|s zPJJpu%7uom{-mSkpoNG-mYHy;HHo^7XePw8LJlH>G*Z13e%0P-*OE z7t!T}sLN9dU!;pHWMAlCYAb$H{%D=yK61Fa21pHu%21@Cc=MC*s;T*F+%$`WLjUR} z-c{^c6)zX^ujN)$E+Rd}-2&*kD~VNei%ydct+0~2ls%gG$?5#7J5_aBP5b?qenR}! zc3u8MJQ@~sEQJQXzogYafD$X`^gp@FnfXf`Qg|sde^006PCE%w{C^2gJKSn@kMQu9 z_=UTiy#M4bC+}}^65(Z87uL-Zcw;wAXVZiStO za2H`|S5_KF3)4;)JbY<_C*0}maN&q3-sOk``~%2M`a-fah!n0q<%Ornd(nEn@O-Jf z0@QZXTni^YLfRBg`YtgoRn?yX)Z8dhFGn?QwCzEQN7@zsyDv%Z(jrmnQ#DIjDhqL< zlyn7B4_RbyMQahNag$cB@|hZ$Cf!NZTCWzPixs0RDq4ceWBR}R6b=Y#FaL6v3iIFL z)p9RdlS^lWG)g%kGxdHNHAU$(QPCNZA~z~i>8Oro0^%nP%95&Jefm_lnQMdxt@RpUo&dliF!3n)O$NcYh*ns#Y95kGM(D>xb(EEp!oQYSMfk!#SNtye zM1sUyBN2J)Q0#|FA|g{Z#lP)X7`LVdh&Z*|Z75l%AQM~E9TZj(klLaU%wO7Ep_`@= z7QIV#zOZ!`(n}PU7F{!WQ@7P3yBJdH$TXr*52HROZDLP{rMfwTu6# zrz(_>q`VWUD;`IoyGE<3?w5;XrFk!`iNc zLeghg`w>!mwH`-EdK2pyLeh&^uOg&|YMn$#`VQ-JgrqmIzE4OK3hS4IRAkl#gtQN8 zZB)is=wGbGexjV7P9Cnkx@ZoB6#iD5zf_x`CXYkMjSd5QA2k5(9BE7GCuU+mKirRA*jSvWC8)EEfpST-K#54w22Mu=bUQ=S`gs{UE7bG=EA&b{7A=gWsfpV zov*^#lHetcV|24p{MPOVWtoJLk=3C=q>`CPU36h2rjh`){Y&zecaZEAHmj&TQGZ~Q zAkar)lPoY;VRKDjl)@%cV64I>S74mN2Fem@9%`31wdtMOrHv&awPPD`PlFnSjf<8) zUoxC0ZbitA%fa2NXD4YkKX}{-F|{IoYCogs>zktX0olzJeu91JY~Ns_YTQY@boxuW zlvn6SO%s09Vfs6e1ys?tsA>)#?@M~6VHAPrz)3Q6_lU^Swdi8B@zi@4jz@A?NtdVP zj}ePJ2Pkw)X|P zDQt5EW+`lSbqI46wzUOn9!jpQPd`adY^x+X^_R9zgd|^EH$sxT?Fd4usJ4-W)Zg01 z5K@0?yN;0hPuoO7DhJzSLh7$=?-Eiu+2(~5^_$YAg%R{kYH2km4z0>}Vg-%vhLeda zDce-x2TT6cD=;aX<{S57F0Br!39C&HqXP*oZPoW`HFTM)HV=7Sr%e-uM;Dgqda#D? zxY41ckPG=&S_|ni=aT-_+zY)4#Rffcv!}ZdA?g!lvDGHu zSnbKU>{m?cwE2r~Oc#469iq4(E&C6pd9iSp=Rk!#HEmQn;wn!p40M&}22=UP=_=Fo zsJ{5nPs~Owm#13Cz+_8t4;7=_nft%+*m^3N+PKx(WncrH?>MUFA%H_6p@P zfo=+Al0YAY@|wV4g)&=0U1gba^d6;9Dh0+Wlr93}6iPpVNeX3@ggVMq0@D=AqXM%O z%DVz{70O(JKDx^CM9E)cO9is1@W$iLD0-)YQ6?{y&Lb&T(K`*X%7cW| zUX+=H!G!M#sd$umgtX71EML)B%yX2r38^tCEeWYgD(wiVA}L)6seLLv2&wrf{RpYO zDWeFfA5*R(r1_CDg^=2>@+Bd)Tcy}9pnV%<9=(&ISZPp6YR5`*LOI=H${{I}i6H%^ zC90&8mfyw1MEmz(F_sq1H>5CPqgb3j3RAC#B$_x>PvNBdJL;(n?RwL8|KMP<4knoc zgkHjMnR@!8HmO_Ozr?0^AnMRba9ZJLqVK02hotKgNv31-CH+dDKqL=V(%~zLON)<| zTOU_)`n#Jj6#ZYhkzBL~_`mX(K6v8(cm8fX|$4){I7758zosw&XS@@(4BiY zIy;dK?Z4$mxNEZWSDu<={@qQT%zwF2e`={Vrd?bP#nMJ&rTXM{F&Vq|a&V%LLsF`W z=U=KtTH)neY0_N!FJ z^yw98DnX`T)ay;P9!NdI7J32MZkVv$rRSQLlZ~ZHNVBEC;wIpPxvVulSn9HdhBvu)?b1GN0XWBuwbF3p{bboN{wtk zbELF66E;$q{S{{YDK9iGi`(PmQRrcO#eEi`jcDk^j=hEV!K5YntB2)q*LUk?n%6ZCF`J4nHIT8;UdU!?SOEb~GCu03t6 ziFr|-5!w@P@gL2WhDo(XB^x#-f8wH&sqim+NGJjP(> z7xvL%BfY~$(nYKxl7q7td`zj{i6M&o72SiRxdh2j8dqtQ5~?EE(wzD}bSMlP9Tqx* zJWw#w*{gSrWH)hNwpiE^G#XF@;`Wq$Pg7_pL|Ct&F!iZXNuf?Rtccbq)YMW`Cc;Lc zjYfx=nl}oyjA%4EqKUS=rFKv21a-S7k5nq!d8M5^Z?UsVn`y;lC)33lfRgf&-9r6@ zOOf3ChkE;yW=EV;B8M*0eP7yeFf}jQS!mK$n_jdf>hDJ`pzStd!jO=Wf?9%q04@6i zMZDrWKBm38I<=+jQ&8wh`cPB4L($J!Q1qd*xC3YEK{|f*yCWTQ4b^&gBhy}iL1SoM z*%sVF=-?71z@e?FsVVVt)L^d=TAs8ug-$`k=;myY_zCW`Mi*(-ev!N zi-#DiFO}dyB!Ie=)oCkCAwXoK>IP{Yi^hJz`z3|VqC84r=syu{HqnyimKSFRrANe( zN3__SqOc-B+;b{p@~8GivZf#9uho$9E5ZtS8_{2x#_F(gUC=c)Hqaq@F6Bc>SdH8X z3ZI7bUa~H<7JjtqLK5+iWh&C_qQyhxYXrTgeJ@__qC720E^@eUC3pl29$G1p`?Jc@hs1R(=wHSC`}~zY87(A{|tgb2UT}&d8j?Y1KP}TE+&V zZHT8f{V9dJ7H3&rk_Y-v@O2?SCF_?f(X?eK>X#qUL_3l5FoNO|;l(538Ykk?dSdCl zWF1*2{AksYyTn6V4)G;;*kbjBSoXJ}xmB|C#U#nWf5#p6HaQSR&J5I-R+;m@AJ`Do?agZRpINXXVri!Z%O zPn;%yvb?h>jOce02}NC4CBkUc2D#qFs)I}M29uvy;zQ?{rL>5+B8evCr11tqHga7Q zX%&xfj3R$glxB&b`R|}6tVol1g#Z6eU2!rg%CA&ch>x7FqvR&XEBeVSa{F7pM10~A ze(wuErbTHJ`I7S>{D?=yBe$o&@sr!Q;Fm}IwAYi(5(;@lk^BEmj?2i8J=HgvhX@x>v^0u~eoBuhmxDxe zBY)cC!Zo6au~i-e+)Rt+8DfmcBKN<=ujZ=GgFI%-G!ef%F3B_ze=N<_L>rLfN~5@h z48$W6`t83FSIInxxJu^1u3qtauiI2Tu8BC3$W4z>JPqm3h1~v@Kka(@-<5A|;w9?y z9O5h2)snIiGL>Z`%0ZNwXn#sgSo$eFqOWO9G$AkHPt+k(`m>Y$6_)JZ=T<(lKMErr zA%8huS^j?Yi{vEOMNpVn;h7$(TxiZB+DvtNj}?NZN6>WzozhiV9Jxp%9617jE)XMyYO3;$85_C4aJ;z-r_! z%A&G{Skk{~!{YwU$^RS;2O)cVdKdHP82T;uKOTanC|}tA-H3;FU*JdXn&>2mpm*)D zNbrp%nq|Gph3!$~El$H%uFK1auRMN=JS394?50cWA*s#~T||~iZhvc6O&R z3Z1{!o0^veW1 z1s#?24c5*K`O_*b$q#XsP|8J!h&EJ`hm;5D0*$8p>HY;>6Cw?TBo-i*oVdB7*|8wa zRFQbdexbC3P$)=|K8=jU&O#ww&586@BxBMZ{nxyxoMk@r(?eJn?jxUY)-WO-qENc} zkw?w%qPk0ggrj_ZnvR=F^+2SnkPrFMt~GwD5Q(A{uY))WTQmN|+%#z~5mZY?>PitJ%SgPEY)aNmxen4t zvOl9hnYnP+v{H?` zNKf$;P`^_m7CCOI?MtGQ((XYYa(C?O;q0zrKm)m}}=LVxnR2lc}u zof`0V+$R* zTE{KYU;NRhX@vY&pwlhP5bXZ`TOtE|F?3WTJG#;Yuj3mkEZPsOG0_7$i-Zq z+zT`)d;KdOj_|_hkUMZPusT-K9|cWP7_7>kfXQ}oxO(gjgd@-S!3r*z6jzboxjYLu z7%hUSBU_NU{FAW#-f!IK8pTKXKSPs(GO(ol9`O3SpXlf<~0?)JIwPGQ&%n`dt}ty;6L#ubRh+bQA`Y461QXJiLO*{K z+%$YG#CUbWPp?j~PUQ~4h1|LPqjNImjJ3l?*an^VALdbM2OzxWWL{b)13z2$z`j?{ zqJKy?_+#wDKcVwHS@B`i^DRPP4J{C_S(q z&d`k|um-D4&>-O$YweYd{^=#;D| zb14jPx(I(=F}ACM1Eu^0?wmHiyvq+j-$Y&?jk_7xGC{OULw-Tdb?f1FAVRVJ&a;g3B|O@SQ^cbMa;t5+vy(xAFY@Gwid&8n9f~99MU0g%7vZ=iLq-fQOD%kR z-KvGk?+GmPLuE9%Gm& zQZE&QGfwf)RV%@8m?zkD%Y)|^7x8PG{V~n=B>O(13cUVdf`-eSA<)y7KR@J!Y0U@l zkWFq_Z(JT6Sk)h$WA`!7k2SHa=~%|-6luE&wz%q}JJ{-`!kfl#@nZdX@Wg31{L|(O z&%8YqQ*?gtl?_h7+4ox^Xy6UF`!kxYiN1wv-{^yVPcxYK%a55<^~DbV{9<|0J>Y!D z1U^o`4;+0zmfyX42HX1;@P=it;P`)593;W)N<Yy zcHaWGsoUV^t1^81kw_d+`x@WdE*Hx+$z!9mLCw+Rk})>O@WS>ot(hUG-Vd&rbi1=2u+t_mnJHKePkCsq+kdoX$eb@%1>P>Kn9(;$ZuzJs)<} z1s3R(!{hPkP@P3LT+%h|Y^*<_b&*EV) zxW*kgS7|j@d1PZ){Uz*8emAT&%a3`VIEyp=p>2JnOvyre;5c=e4iG+gd9ztZ7;NQn5MKtEPatzm>dJ-S2oLV=_0NupEvP z4=>#p;Oq(f>g;E5dCyf?+T|!znb3p}D%%sXGIFV19E9Jq->@z7?!xU~4n^usMbC>V!xB(jH z+OiEN8)CY7UuJsnCsrL+lX)2VqI2~pux$QB%uIjBvacdcXtNYv=&XSjHI_0L_6+*W zvgGb|>v6Hm4yZr;6I^)P9L7~GgGWc{;gM2e>wRT&Fc zKDqFFE6Rd}V?#Fc-d^aprytflzYeXkXY=8Q`@o;5B({40MEIVs5ATik!`x9b!Msir zur^tRkt5CE_37@gsOe5n&ZvgU3WoRr*RqXc{4n^C5st_l4Xy6XfT88nan;Jj__6Fp z@Lj75^+xvwR(d#e7*ikf*B%7ZE@#oK^J2Df@ON;2<d(Dl;Mmx*lg0Fos>CHX7wjv%s-D`}h{_D8z7Ees9pAC-6 zVOXnW6aIc^e{3>o2eS=n3SqO%VePD%@aE<}yunN}lJ8{R@I^F+mmZ6CDn!C6pKi=^ z$qn3oI+Jg%;)#d-454nAE%a86V&zNefV10WcI!tXl($^KvhH}oxaS*T;*ja!@IHq< zd#;B!pHE_58SNl=wkI3#?J8Q8Gh@?69|y1CO3Yt%4X0jf#(UvowCP#}r&{>q=jvA= z?u8EBk9-fkY|rC}D{1UtB?It3-xG)QxC%{h6QtNmU`ZOFG_Y zm&D3+stFYrrE`l`X=v9e0#d7QfuZrCpkFN<*4=%=<8&Ti$ahy3)@~9co$1HZDtQzrvs$#=O?+ zI#6l;c$Tp9I3}KV#e(k1FgNlXxYY2$W-EWO%*B3SpRy4nK0SwN`ySaijxoCijYEiH; zyeu3tScI8omB7$`Deqdd0`z~`hFyz{f~H1K;nC2GP@{V_tXgXdtnY9S0_(hn1KW|c zEI0*^uN~$GHaKAK^`+s=!;P@>DeYI5GexuWLm(l(5g2;vu=wMF;L~sx@j3^S47&5>1~Ea(`;=e z8?1CH6nf6SiNEw~u|t#J!r;UTd}sP5Z2W#64j$MaPel!e$(3%vwiO%UMWqdRV?zX5 zEQkXC{Sj>4m>KY}qLTkixPfDHOwv3U>8CVuD2J-V>F(OcZ$unQ(S-@^fJrEtb5AO0d_He9zF z&yzaXV;`H!__^9woL)hfM?Lt8n`<#XApA4@xbOp88HD4djq71cWd<<;6QJ*=a5RJE zu&((>(A&0+bsusFt-Be6W2NRW|Jg=xExiycemn~0ZnnT9DaY9^(>-|F^)dUo^AQ*) zTJr~bZ{g|`Cp_Y92~)QpVGdRt3_4C_y!uX>*G=U$EIVSYp3}Mc**cIvGnhBH8Ve(K zB*4u-COE>}j1PM02{#O)@NTP#__Rh2JUu@Z{v0~Q77q)D_p2M?-3KmM&CH0;>(BvK z#gu{9nM09Pzl+N*zkzR)^f>Ig4K{5XA;XIJ?Z{#dU$#MwZZl!R{U$K@YzU7wT8ZnP zzrmknd*F{{q5PS5Z+znRgYTT=h21VLfI8K5ao(KHIIz1nJYH(WZKphkSCNLG(mMp# z?QPi%UK>_!xC=Avd%_LlT>!7=!|6YPeE84pU~g{DEVh2ecHLj{$gd~yocDg59@7sO zc(rCrFOZv8(lB6Z5A2m zjDU)$$#{yzz!LX|c<-YNn>e)voE*0mJ#-y0qjVak2S&r$1SQ+>#u+x-U*i9?9RY{i zp5VV;&Vj45T=~$)Z=pNS;BL-qzdkrUp+@%#&X=BxQI z*KH4Oo$Lg$SC;X2pYmY#(QsOiR>p}gow@V$B{20#9&?@=jwXHX@#Jn*@zwS-Jj~b; z9dcUp^cw46WxIjAS?yYQd`di;Dn7x~kfH36Z7Ce;vyFE+H3dgMNnqWd?}69PFM?gz zLoCRv#xjzxLESU6_$22P+_AeMZ#Co}cxo|>&t=14{QzV5G|?Ul6mLPNWi{+GZV$|E z)DkNlpA0X8_oCmyXK3-^8-CmUoaa@k2fK!@z;5rXF|3a%AC>R{ZjMP~FZGVYY`Y!& zfcGN!wsQo&YZi%}haQKpxkn(Y?maNq^MjfOgPGHV{-C?E8rJk{i%DCrGTZRZpkvDU zH~t;B$DYB-V+}EB!XcRBaSP@tOwh}+Hq={N5sh=#z=G>zSm)3VSj{|u&s%d52R(g` z>vx&KmVL&&S$Juz_{5OiI@KG)CuOq=>HavW)g)ev^aR#JT`?xZ6nz~!p;7tTu%};7 zX8+R%;%0XO$5vl)=`|m$si=oTY~0!Ebkc1dZHdMY%Yjv=AH2$P7p!3H0v5e8z@m&9 zt2I9sm!B|%D)BSnyT?%;abW~bdFTVJ!*Z}foeb{OTpzcunaNj~T>!`ZUU*5h3o8tD z$J;0V;Lc_iY~HO%$e_Ae{`EQ-)-aftUfKz4?@hwDyISIqxgFr=!^ZgL;d}UbdMcb< z;sINeys_%tL0Gxl3-B~w%`Pluc%##Io?H4MwqKBrzDGvE+3a_GaKANh%knx8zx5e& zBc8JKIvZij)TLPA;XvqXBd_D~%V)vjSvfS{9140myg04Dt1XLA~z4fc3dBICBacmh>DNnq=_?b*I9c>`>O%eLCFk`W>4u3PC4_^U%(v z10IRq%?C~h$9DUAV~+D~ydJd=GQZhC&2OZadeQ^8==$&#%kRJjewDSHIv+M=wSzKa zYTy%#W|+2Q7`|V40<5opNBwSI+_Kj~c;Y%8O}2G}_vI^~)zNQoV(c(@=>G>+w>ivB zS6G1Yg(d96=hhJ8R2Ke;PsE;!kMmBp*WuC4X>3erWoWsmEvudvfd|k8Qr|mLpQwX> zQY^8m^8;2o1JK@o341!Z0lw>c0Dog;0F3Di3z;kHD9+T0m0ERF?m{1*GfyvHBNB!OFVdcw$z6toXqY z|MabiQyY)N#1Ve*yJBa&n>G*s+{uR|tF2JUbrLpu7>C}o4VeCv5bRtw3xEDv08Z8H z*yr0P@$7>WY-Q=Ou+n=Eyy>tXA02rHhKBX<`XM)Hb2JY-9b`CQ(m-qso6#rF7Cjte zp#IdCcxIjs+ZLD%)hn-MYffFj47YYzMQ0JX)OpS>KKKRMo4T;&r!K>Ty@UDKrJZoz zqKmXfVNmC=JG=3EEgrvS2l|uyVz!SlqSsGM=X+UpYHz6BbR946tP4wxNT+te3TD|g zfbbtx(8`nZm(`EsVTWM$s0PCtQ*7~M3o8sZUIb=STj6v6Ej%r{JSuB=kS*U9>ZL# zZY=)sJ-l_YERKBN3N7kRW2yKaR1fT6p63aC-se5`c3z1KPZ_WZvvgtVL`&>#zYcbN zoev)x{D6szQu*D9OJHylWc_FMfHHUMLgl(Wp>ea_+-Ttg9IU6n7w!re(r!BMU{Vis zL+`N7zEP-i)R2#>oq&1sR^pIvxo|vuI)voC!;!l$vAD=CIH+Mf+v~6dKYrfHuUt3} zFT2d+&3=r*GqxKb`a}}A7p&o4Cm-X^t_85H?PO@^WWz0-_hEu-KQ!~ZhGs1qz}~99 z@a*Fs?A@DmI<=6$>ly&MH$$P%)H&cWv^u|8bq@H&`-59r51e`P16C?s3F~bOgmr`a zVxwb0Y{jSsxNW5?g!G?{8_(E7`H6KgTgRX89zO&~*TGM>X@LpZahPQ~6d$hJ3M*G{ zfd>_qvGZfSV0rCL{HCD^jGXxbTfQEI(Yvpq_mTDJ8C$@I)f)gCeM`fkhifr6WIT+@ zXn|W#g|b!uJVVb>N=$1{?ZGw@PS;w8fi2&&iYD8z@zk5_)y3M7{4$yQt$znU9v)!< zHB#|L++cA1v=nY`3Im&MrO-A^pLcEj0#~IzgPDWop#SMxU>fiWFEl;K{BDOsNT=0k z=vfoJ)_Akbh!~6wxrqg#`B?vk3(Sk2in{wFS^w_7Q0bL7&+RmW#gDnhb4L^UGv1VV~(B$oK@afYT3@-;k@5Z!WbfhPq z$*G4#gwim>|9>_ChuY)xwzVPH~GqB;9J+LwOGn5Tn&Khog2;1sZ zW&2fKVPI2Jo_F#C3|qSZE)P75pXdLkZvAs6WSmTg*rOxi zDbE93nu~_XE}&!65|WJ%^2~#P?s3&%%gL|U_SPBf-_;IA8Ck*iUzt#2_jU*`cNVKo z`2c|%8)3UX&EepQevrH@jrlc-MxEePn3lW_Jw{E#=x0};;`<;pujUVliB{aEWjFkN z>?jUgn}r8|WwF<^_I7F0lJDz*)V9|SZL~X59bt&!b!8-dD-ud*vG0d z%Pf@zzSH(Wk9Jm9-!MhjT06$fCxof|%E>`QvO0JO_ zFS5`H3>qdzfa&HF*e1XVms(VZQ5TxBHr@Kel&igQ+HBIX*WCw?=bwSnPwv4Cr#G;# z-+mss@*o_IG-I8&REA%_4>5~YFW~tmB^bUB1e@gx*}$^z;o*@{ypvH6F#moFpG;T{ zTicj``(!)lY}SXpQY6EeC+o3Qct^ax@;JPxw;XxW5B6f;3#dP83r}j=3q}p@$&P)V zh{r0nhlcD5RM@{6f0ABu(`#?$z>eWv>#c0T5_{b621w1o!1bW4s!hMcY_^4x!VD+#r z6ztgm$-Q2)k4>`RZjLUSL;K#_!ram6>>x5ue;IODc|v>}XC9Yjf$i>f!trMpV8eqG z_|4|Jxaam$(s?=|_F2I4=e`Bse$mXp%^7CS*a+hW`a!b=^I=uudK}R7ALz1L1&s}Y z@xdHl%)DUC_qDKsC!Vt~s*)YtOxb}c<8I-oo_E-#^dqQKej=NSJsCjbVn zwq_T6S3+R9ez+)X4~E{o1ZA%rfe-Qe{Me@s@IImnA2MkuCR{$lRXG`OI@$_{?idfJ zPBdVl)tlk387^d+XcA^v9pc;G)(7wN!}y<<*RgcF%gkbk3LZ6TfIH5b!Jx=gwyx<@ z80-?wBW|3AiRVAzz7xHWt4gu_?We$FT2;6@b{qbxdy>1Xzk+F9y5dbE7drh@h28G$ zik@jHIOS^qeq0cN7boQ4-16Or7WO_-$KOZD==u8gVeILUquyZH1M+VqkCmcHpsf zJZ3%5K^+%5rxA)&uYN$jP8aqd^BCN1;EHCG_rgiv+Ys_miA|Ds@Mg!?KyU9FFf%R{ zCZr9)3cZzhbzL9m(w5dNA*Z>u*-}_@|19_$R{^{Hd-!(dI~=}uAv37x4GZc9@{gaJ z;pzvUm~TRJ{MFZh)!y3y+whj~+b>15T^xm?I5wY0QN*~AU z9Ek(U)WzE0#$va&<)B0651g>(5|6#TAE&gL#+v3=ME{`Lta-oB*uL`$Y|*tWn$+9? zw`%r-c^|q#{NQ9*Xjg}C9+!tF_Qt`=Dh6;X$bny-)fhcTTj7kFUGQ~7ar@V3)-ewL--%*wRK@L&LRA|1ff+l$~pi|Op`s0;95cP0kEGQz!U z2J$Xff1ssfG?t$88Vw(h-Zl6t-mJ7Ce$21U+6=$1W`vK`qz%@MBJMeAM_b zdS_i`RTox7=fj_IOZa!t8#9XSJoFQLHvfnox05hEU_LZ9D+eysSAffOXSm*DEngU2 z9l8W1^5+)q@BrLn^`bsQPC*5Bw3jXfnsmh<3r@n$n-5vHHO@HihZU|h^@GXXNcMf( zV}n=wu*2k3T-`63b&a?SwTUSvW-!|IbjKHwfpE~L z09%CBu zr*}rv-MLsN^CHkU^>F5^U-0tnQ*3nq7T>?`79MG~m1p^ez+B%1eD)*}wpOrWx8GgE zf-<#v=eU)Seae=*=MBUT_j<6sdkKkYr` zKgQkH6kxYv3v^9X;-^42{NTEpZ;JT^%d=lWbX{}Y6F(lt+GN1Am!-IU{jU)4;v4Q6 zbqPIIcV^ZN3?RSTeg6KWBd-2c0bcJfgO8hhgzy&=a8Umk&c}O0*H1rqSpO)fdS@~2 zQx(9ge||9MsGoSHM@yz#P7hc6Y=Z|GyKz=ZDF!zIPVNa{F|+(gzy6gS9<~eKt+9cH zWhbFsf){&Gk@Q9xW!atW9F&SHJfaHij*UHvN1x6I^L^v_;YkBX|CR(ldz^tvZCd{r-l&3=5I%DWVlUvv$7H%W%jUej?<>6x%< z?+J`tppR2h4q&uud&a#i~hMNP!nA7^vIIQeaZsl7Kyc~k~Pm?Ve`QR}d zmVX~E?CH+iw5kFx%D!i>(s#qQwprL!>bcmurfmFmip@i6P%7FOo-Y)n<9^5F-2;j=Qd z&qHhCC9{)QPLK&WJErp{K9gX=APd}o`YfuZTR@nHF21$O;2$TB0Yw)t_WsT!_*TJ^ zk6%_1LTdNJ?jMYC@hby9&94Q{S`on$)?0(2%LvS}st7o#2Ch7|5_h^CWwQ=fgC>6d zY;`>Ya9tC``rXLEl(=}lmGmy`emw6~c`xoL*A6!{X^&l#E8z5HJ_F05{-MycVvr?T!0Y~p*a2bPpEu%J9d~f6My=hgtbps!J_l^U~M}k zt{9lhrk3uHgS*^h+i4z@ylNck8ydpgvjbVnA-<3c3AikID$EL439f&3!GM`5u%t#y z$Z~ASUmt&kjSruLWxuDR!;H~9ip9YWtL^+EUxvRGGvEZDhJE{Vfc=JTk2b9s6}sFJF5>|-~JH?H9Lqi%{KuL3T7?4KY#yiFoYG*~)vtW9&TLR{I(T|)Dh$z`hGq?1@J_=_W?s_^670|O(oa5N zDffH);Kq^AHuMY}A2$kL{d|Pe!c*bOo+E7ACKtFIu#|t8(+%Ff9>qpd-)^5}!q}_Q zFl^;sJoE7-^8CAS;sf2Y`0c~ao0NkigRjALIyY$lxDmsrCb-}74t~Bg0Jq=r!8X$$ zgDT__wm<3!tqvRUz{8}MKb4IkgX%(+$GXt`4F?Q%hww`GaJR8JPf4wdAFD6HU8!{5 zET;vZaW@#eQUaK6S}i#Apc1}Wo((bYr_iUvE@Js!hxpRNSFq}s!)SH)8Fbrn752Ve z1~r3iAT?DFE6x4|D_%^8Yw(B}eYp-F)55UEw_vFGsy;MwOGdM1H+b%VXIQ6nbF|2E zh2vkhgXzplSk`7T%%5!piqDTA@l`bb$gqYtU=&eRNOF#cQcEa8RXw@X&lc*reV9__7a%9s3Cz#*72A*|ZO`cR6G_ zGVEuU4aPo=@Y%%8?B0n4+^}8+t#@sP>|B2~v4$Sl=vBuS#vk#4Nj9InV;NM)9tO+w z8o^fI1?=UFCh(-vSL9VHgTn3u8%6rmb~8_ccQEOn($c}w;{cwR@P^mAKL$5H4&Yrs zoyGjRZE*Q)FFa-#%1Uopk5z*6!MM!{+~gAv%?-Xn`31jur<|kMq{=4PtMI|NL|bl@ zbObM?_GOV1=Hg205X_|Y$IVY=8JGoNtB-?t=T(CsJ+lXksO*e=<4@t$oZet&)rjU9 zkubNX6;JqS34`McVC0V3@aN?$u;11ldUvgcH*f1h&ZreQsQv)t8{6>A=%Fxw=|OH} zcnq4fF~O6*uHbOuDP|=$!ulNsvp2E1&|}mTZoldus54|OJpbJSbMBPI*sD)4KIt(p z`^E?kOuSC(*jYHa^GfdfvVhJ?8FI@3w{S&PALcR31U{cr!SJy;sPdn{%_H-1cC#;B z?^goGjGlpuw(J7y-51gG$wIs|cmpg<*@8M@vmq$52I=V?xRaR!zSzUz+jld_wNArL z9rMBN)+d5`@r1Wd-%b-vFJ5q4Xf`tAGU7}W)6Yp;d7%M z;MjTw>R)!}(SJ_hzTjs3+;6hwkiQZ?W@q4vTi2m>Za8#tb!YE~{sR{IGnh{mI$ibJl{NW2!2Kx_p^Dq_;=|0 z1#yk9x-@6E93Q-4FMMwHl11Qi>I!>J#UAVFjBFxp`)>}7R?EP#r9qUlVjn*vA4C<6 zaWwH<0-0~ur5gpJNZqu7&0Cj8zo&a)m&jXaM$BT1RI{nzod}mSKT1b$NML#QJ$Om` zqhetNtW7@C=8e5L{@M*jHL4`mXM)1&n^a#b&ej~rhMw{P+IB{f0*9vX-XCX3ckW4A zTNX^iL-(M<=Nm5c{=$IZqi8z5kO@b!@a)2%mYRcbBXhPsX9&&Kv=%)4M9dfV6_va9 zDPrs_p1xU)_TKDdl70ag()o-%&{s#{sV)3LcL>7d<@ri`3-a!dW9{<<9Y5j~4n66^ z(Z#!2Ov?iL@qUkx9Ug49@`_1V9&vE$ z1EfBWrdN9v*u1+!UahNyAJK23$x|n=yY8kmac&BK*gc;Xu8830(q6*JITla(D_oWN zN#DhasUxO~Y_zB0$GEK!vx-Bb`3EEhno`;3687Um7816eW|}uwLBr)TTUWD_DwKAS z_d+ciI!>0_FFvCyug_EHGF3XYVImcF4WP<7N10XTJ!*>C&g>pG(lOJA{KvZ>I4BS1 zm!GK7zY&%!e1$LRMoeRioaJ#h#ho8$b0E_y2l(k&!0bdX`@Humh8G62Qk@QJ{%VCu z-(`@p`y{*WGnFnXr}7TV?X*+3fQ=q#Amp;0)6-3@v4 z_BecdexBqi<8aihp4VxAf^F0zTI;QWNy=}TWaLV0iudJ`BTOi=>^O^guZQ@JLs|J< z2aLSthpp=x>EjYl7X4=+tWJK!u+vKf2h8ER7 zB0tB4O#RC_NY{SmAHS@IBms{xP=*i6K^a7e@w1B)zUZ9JTD5YmS6?)duLASFwF)xSd>>G}A3m33?>V=e1 zF%CPArQzz%XV{ham^Ll%Lg}7O_`^@~8^tzQyGfmfY}dzV4*p`X9879lFzxqB>fEnR z9kEB~Q|ESyjB%iDXe_m6b&RDKC`aRM;U&3d^UW)gO#9_@{kP!Y0uItk1{D)8s772oS z+IZ+(P(|Ru^V~+{0g0p<(7MlWDSC4O8-95S)vue2ml^t)m#4#Gx2nJ=u9klM6#TQN zH*tK~XOx&pu^FW^5&!5D-ud<5{rgL%!~L>Lzcp`Zu2~0pRZVR9b<+(rpPL1 zY!-BTQ$KwsJLw*=A&z`}sTehW9YmVr%jwwAk9^tuG+JJ}fqCcOC;oT~%lMrMn}j>u zdVmYATd%?jM-vz?4&;5amyly;0Pl<0idmXvTzl(Rio2GKja?JTZ7L(=P7(8-C({#IFQ^TF zN%CLDu>-rq$!k;&y|@rYpF>vD^``5{Z+r{KDYr3q)G>^HunB5&Qh2P&PrBk#L#D-p zXpG@DULqTaTYvRwB1r>r;sX&=zZnss_FT7h25e@|hfDG|iZ$RQc0!n6c9`() zgiu;~Q=i}PE5vZU$@FyNOhnn@4O~b3F~v+#;25`xTaCo};zn<6*jd5+BjL3nzDu;{FPUaa~Fq(a#rBY5H?2^R1)lnUaXswSm@x zc!cSkhKfrRzMnpa*Xt+nN5jg=(ZQO>3b)VJ=6GjX z#d3yrQtFm7ShMyB0&Cu~`{{v#k8DqB?mDP$>?a?WV>C_1j~`NNqr>K>DX8fTMjPkR zpx$}N{m{uq6f~f-cq?t+T}4kInha2*UhYpL2?4p0c7Nohdk>>nYg9+Ev z5nsL+Wr{Tz@hh7R5Zi+D1;3C`vIWlkDNOVR(#^~*%r2rIOT^-7Kxhg)2R2jJTShX9 zsq0Dnmnh8|wDjSpdYT^|m`qEvGHLWb53;bgV1GWElbvM| zrub`<%o1-()aXQe=3rcZD3mXk1o6-LO|<1-Ga?js(VuavnHtHE-{x~ncEd!xuUaDX zeF8|wIvqm;a!C4~B>xxMC-{?d_^R)OUsgtN{BoS`ih>PEE~A%+3Yo>5XB70tmOe$* zklfS^{?xUKl=qzAZ*O>$orXU1N@yp^#W|S0NSFg`^HKZq29yV#M5bdUdh#M^+}yKh z@RaA{x4a^mzGwtD4>lE9HTI6luB1 zH}l*p>=g?-Ud^RldDcN?!LcDDmZHVweX7C%*IrM}QYXfOQ&|Yp^G?%tFmt&#m z87N==g#GO&sjxzw&+gqu$-m4g)~F1(yl#+@NiKC8Po${$SM>BrBJ0)cpyAei{P+(w zJlUv(q^W*%u;@I?TD1*V(w>bi$*! zkpeF}6qV-4}#`|Bza~E~;bJ7OCB*H$O zxs5kR7x0=}p?I}%9>z}U$I>?%th~&L)?Trp)6+HSi(4~S9NUAsXaDi<(oIxdoy^nE zf1>xZli0IYm*BD|iAmb!!CPk)-MtV?ubY?gnaTHX@9bRuDI*6-C$CbQ>SG#mT#DHy zFNV~oRQm8#iVlyP1t&u<=(KI*)7M_5W%;_u+jw5kK;)?1E17C9e@2{#CoaWyG5LvC z$lqZ%zbvzgq|blk=QIY9j9Vg>ZT^d^u0Keu&=>#kL)fXx=~Ka5?t4iZwL=^!UoD6B zh#p}r3dc}oaF}NK>_fK0T#DMfgO;f`LF}wIZWxWG6pNQMU+4>bA8${)&%GjtvjH@D z=LhcPk%?8ez`GV?#xCzU~7IInXD0KUB>@0SKXsIOo zsCt%mhE8MlY6Xaz`;^~XD2|=VEv#s;ByJyB!ap@+z)!E4)ql;#3La=pb^NQG|9Eds?73i@fd*XDXeZ z6w5y1e9C?LGyD+KndOfqAN#RV{Vr*4K8R-10vrttV53IlL1m%vydx)5)^BmH7&eYN z3~peL>q7dTe}h@{rXpYMCnDC}#Z}2^hh-L9sq6DQ;CMmg7oD6W;g~QtJ;z`lm4jUR&p2R7o7NkKTaX z01*}yvC9q{HZ7F`bJhqmvrHp3{h?_iv>aVS&Q62x$u|`|A>X90G`B|{~+92}RTZ93H z8N`(&`00D4bOt?8q*NLo{ef9ERFYMp4%a(Ugy%D~$^ZK<+`9Cgo!BS%W3n6Z^t{kT zwpk!_*>lJ|aXsCP*iWgcLollBGsWk0(K+8-S{I+i}y>%_@^Fm*YliNs&{sFi$ zD2gW!3&Oc4<0#SYC=F2@$C9S>lgR8YQ1yLUkX6S@TL;jByrbOjfheAP1>l}i2{n&? zN2Y7GlT2_R&b%<7u(kgDS4t7ygojYf{8UVBv!qe8&0QTAa@x5v3m#xiAr$=OBdQz_=1K;PN%@&2JF8#9UcycdFo*~ax|PpqFvu{S5xSm z2X2MN#BLt>xk#9Mvw2APbA(ONVlg`P*t{a1y~xZX(->9Qgf>Izp*Ct?--hwqDn8gd z8)t=Fte_;5^ZDiMM134`>ZG_`trhl+yut_nSwp{8UWMkS!Ju2-v|Q-LFCJRTvW|SF zT)iWBBkn*?CzMe}S`TEKZ?ow4x%4yLo~0cB3Dvz(Y}>E7q+>XikIsHV`-i;e3wN%i zyRGr~Ypg`x_m@(bttM)0Quu6LO)Ayi1J!STU_59d3yk}Y9TV%wH%}KLshxc3l}wC# zcN22Y|I$C#ZYuI$K)W8Un9 zzfmG9bfByF1o0W53%>l~Xb&Wr7SZ__af%CG!`{vNOLMjzq3s`^(!a~Axn{N;$qPCY zX4_$>P6&5+`5TLV`(Uqj1w3xe=a%c+DXMZc(^{cM8w#Vz`t?OJe3^ru&B`=V={oK6 z{6urprm<$W2og_&N#ylpglHF2n$sFm{k)2Dbp($l)sGz>mI&P}W%|!BoB~uIvdOd7 z(1NcTLa28-`fP*_Tf;%pS@Q*CSB|sSzR`tIE9lmqC;U+D4nkTmT^Q<)y#@ui{-hAz zb1uU=osoOdR%R^ENhWL{KdHBf4rS+Ib^JN_Y)GanWf3Sl5{EPA79weH3;$bnjyfe~ zl8yQy%D&=GC)UMazK=OOq1b`5Dofe7Ytv|6%r+#nofe3Y#K9T# z)M=%l#kApcmNxDE6@~TlYssTrlRqo*A<3V{Y*Bw8Ep?7zAwi~OvS~iNn$Bai-6^U% zJ%|iD_p+#NTX@VINr#pXpg7HuSfRIzo@|Y!8N*7jZ>l)^BX*iz`JbV_o*K-UxSqLJ z9iXJ&8`!eK0IU@q#T=#$M9DH0w$d$>zG^qq#5uMonc%_3JrVZc&NObl>m)gct5Dmp z+t6@Nrd7NcS&~Vl+ZGAs#ksuIznZ!?rg3Anp%h=DPy65a(bP}gEW-U8c{tplm`%^f z;;B33MkUfLyA=ABJregnyyMgLB&hpj7&X?HBC}W#Ue{}3<~o(l?3KjGb;2H&Ax2$3 zdueowE>-@B#K1jTI4#}5i>3SVdqgiBy*lXbz-;uj&&8CEP^7x2V(tA&$o+Ft&_k|L znfr6L^;|b<^xqy3}quG|jVIg#-E$T~Xox(bHVO2d{7*oaMV_e89Je!BU zHlwK*#Awfv=kz%zp1D4;#sZyI8kDvjaZi)UZt^`u9+|>EI_48gGsno&8C3AJpWCiE zBJ^syQEPn&dBIQc?(7vB>7Bq&2>FZ+3BsIFF$0mziSPDYg^BOOo27dgLMAB}KsU63-#_Uw;+%kzDx))Dw zWqR0ea}g6VIk{(P;lAS-EIrmw{tFMX_}DDm9QG4`%@fG%sU*)VT8AmqX0siy(n$Wn zWIA*+oJy+(Qes^>EuXs`_9}T;bN4f@kLxFsiyPoMs(e?xC-$fXuo8<3oGGq`!usEk>{4G9O#N$r|4 zq;kx0ew!jW3;n#MpW^6wCgVesHc|>32mf=87$5hMZR@b2k8Br;3mMrAILVae&7!ut z1YGHVgWT1kWN+L>A1*}++)rY&0;`#a@K5NMzS`gXIBb2qVX{;tqGM7j8+!6eN z(K-^3&t?w6K9u0*Mm}*XP_*a-SCNoF+@k?}?edv4`(iGi&|2_)`ERg zKa1>xe|YKRhe)*w<(ktwsGODX%U2aCtXqXCsqez@t^(9w*oW)ain-B(Doqyw}(UQ^>`A=_NC62_ss9vMxjet%>;%N26Ln?J6E;jai%cT*=TSySp! z+QTn7nPK$f!7M;miT*7e&zF3=f<)=Je9^TNG(TVm;hSqgcgs}fRd(DFKz@F+69 z`-+@I_i^tn8Tk8x_{CTANNf3TrX}b_VvBcj%PktHz5R@!bdEmGOy1C;8?1e6% z@;?fpF&A-9=zuPJ_LrR3USQHi)2KrC5mWeX zNoT5uk+x+O#Mju<_+*vJ4b%i?}zQPBoOXpI?8W$#4R{elG;y zUuv-9Cdwpzy_!$#UP@hVtu#wf6!ji!*}!GPFm?Mw8sepnwI))u$Y2T1E4gBIrwHm) z`q|0RrL@=YH5<#nW6;3^u&jBDq~Q-~!;cjdlDn4A>byjiAIjmLbdFwa@uthmweVz+ z1})F*!U5Uyh!A)+Nxrc{|HGF4<3-#oI*ELgPxF$@HAww(ft+R9(R-i_b=p6-Ho8laj7^@8zwPJ zY2V5Bi0bX2V>64m=@fhHcTa=TF$)BZi$tfz8kE?}up6&s@v}aFJNm3crQr8SWoOgr z)tP+LSxLNqkVZROwV^nvTR7L;kr-gYO0J2~^ijvSvu6W6vkk?O{L6?)`O5A%PNO>? z=W)~=p`;JKd{M_>s@*yd{UiEl;N(CSqI8H#)wS7h`#Y5JE(BX*l@Z-;#+9;oIuESlwTc?JwH}pKI$O`r4Px$q@Rg%Yxa_4|9=Y8OGHvEGI?pUbx?@hj!=$3Y~R{JhtiZ zp;gh8B(@s`&dcfJAy3>iv7#4$s<`#z2MEGsUU@%8U|)^I$SuO}tu&Pyzpp@yu?Q|( zyrpyZk03R01^qBNf}0g<@nZQU{`hhVNhUwz<55COmRqt^Cw7x5C}qLt!!xFGDW9Y+&!p4^g&3=#KnGHqso%v3x{bbA=zUD^H>F8p zvOC`-b(yA=ZHMCXx0t?T3m@F!LDRR@@xB08EJ|BQhku-;K?xfXxFP{In=P)pP3Vlts z=GNE#QK6v)zU-Jyj^oNn@4g3SeH}{a*M357S11~DrqQDm8{WI6njUVnqbD|w*zsMQ zYaS5zG;9lIM-HIp`}ZSk*n5&l6>>=Z0-fp4e(X3CfgFiq8mpT|)v-hQ#~>9HHG$1v zVgc)i_S~aik|u7qVhXRqNdA=sAEiDA_s)2tLb;ZvOitp-4^C2G@G(l-|rnYgE$U&%3B=-;4_!&KU?8oXuEG_!p29GfLV=0Xg1^h|vFolLbW+5N?OuJ7Wa6JP zE7iZG*&@s4jcB9UiVyIuGLQz?mGPqQ&!8>%_7Td>R8Xw}kIrHTJN8;H}j%4F0$ z2>Z4l;2ZkRz;#L-e=TB32B-C?K`I6FKmF!6%PnbLL>)JbxJTCI&RlBrRcgLBl^*On zfqn^hYjpX-`Hb(nB1^x7GwkO6VYtb+^7#XokpG)objL1| zRJ`Q);fKHJ)b$tq=$(0p_sWfUc?MrM+#gk$X7n~aoTMZs)5OU&M3cJVsgyzSBM+(staR^0HnI21FDnT)pq)$C8fEqz67$m%0yV>cWK z-++d%mef@x&kbj_;o~hu8v1JpwyIj;$IGqQ-IT#5b(D6E1#TgvRCNd}^>2*1Ruc&PwJOHs~?BuIb`o`fQdR8HwHb$GLyz1QJ>Km%mjS zPLIdPGZ;p}HPD-0SpTMDp^N!cqrr66vxX9l{phif3Gvppf$lJ67IEV|&5nFXQUdKp zeC`CMv(N!<1*=({We=U09?q_c_0x;j>f9x04K>`_Oj$$z(1a`57Ph#OM#U!lqa-G3afePHoyBbS_0szL z87$JOP=Fje(|Fq~`qZSse*SDjXqF}vN0ne%{TtR|ChX~R>V*#bT@?2J73K>;E7@`g z%P;5A;ShfubGFC#yO+`JY>tq3bvPd0PWMBjnW@$ZY)DT-!J5(dD18gk5|0JeNhQL* z#E@FgHQ^atgN$Pw!xACiRX!hGJtFuc8AS;jt8xBSFz;^}OS9wqk)d@L9dm_j#IZv{ z?x~xJJujd|_A9BpBZ(drO<-Pcx=DUn4WBo?1*`73@o-5CyfHb7cTXzm@R$?)(4c>` z-$e#v->#%pHS>9E<3%c*r%}Y9O|KHB7Ix(JA?jP-*t1Gl5^2Zl5{*oBaVDt0s}! znGw8ciXklxmgOhU+0caZ6})QZcnoa#$^TxL5O@z0cxMj;ZiyKGSM!@{JPs372Mhj0 zHZ!-0!KT+{yip?^Ro{rc(P}`5PYm3jKc;mTHTmEeeHxJ@?5*~ebZF2Tc6+ZTylfYt z-7A+K9yp3{pH{lFz@Di-&qG>@4^weEK%*Q6^V89`*gH?~R2`h@l-qcI_snl72EIMa?281=Fj2-@o>O+#F6JW>FF<)R%FY2u+GmS;udheTUQ$bJP_IzeW3z*z2tb5A|jwHO8Yt zVHkN#+k?`|V0v185uSlI{Mp+NSo!%k`{#KZEpMIC5Y&fUuMGmbcqny@(`D@zN8le3 z%1bVP7IddxirX$rA1f2F(@-9v?{A~iybwYADiAjGEb{-KmDqHXAT@{Yv)c}@c`cZH zU^_~drc#T>F;qkjqtWw*(5&Ha`P^?Rly4Boc0|_FSZfvjEo?ZXbrb31o=5cUv^;ma zoK9aBE3ptU9%tjA~O^-s4k{8nO{$FHexyqj)B*HI>HfcVQWC z=fn12C7lbojJ}&^d7ObUwdmUM?T58#(kdbEdOZlD&ZGIt!mVg!?&Kou^Bzq`bfQ4u zwh{2{ve`3$p-w7h4gc_#Z{uOqk70`0c9^$^g_(sJ7`f%$nHx~Gq|JAQxcU=>q z)|$)?YO0c%q%R)lFQhqHUN|f_k*13UGugSL@k9JNTo*);*QpM6ev3EenXjUkcSk^V z;Bu^SUysM?`pjBN14Fk5)39C3u~1-khAWoPtczY;eP;nNgA};ACQ-t=>3r3jue9*p zOJvwZVtTy?yI$W(M!)Z{qvpqe=q-nI!`9{H$89$o-d>X@+2t92RzbCZh$!DyZCC%1% z8c^|_-&j&v3DHS$Y?-zxT`SN=n82%by4XWaWm=>?dL=h4D4-D{Mf~E0J#_fgPv&O5 z01Mm2S#V7V_FZyee#-d*$Dov(<}629-xnsWBT9*{rc&50OL{lF0!P=llEWouj577b z)th%%z^Q?P#%jjjNJ+r%`y`fdrU?OodYFrH=!Jdb=jRJK%V|CI=>8v}KdVU&=4)~F zg)Wa&pO2EZhoteehc+r#@G%d4=zen?>90*BtH&4FpZdMzH@}YVN-w7)m&LejNIYhY z-iA5F3+Z0eTHFurptjo&c=hr7FrH&3@WdPG!M}b|Zybh-u!rnm&uFAK@8cU(AK>sE zIZU}3jk%%!sA$aulHIOOK{`Z-FIjTA<~(|2(n069CgYLWNG5-K8-9p>CFYlmBdvtu zt}fEK*GrvJ&+x@Ffj{)O#Fq`P$ahLJ>P3Z&-q{ZLwp8<#?q*~=YyqG9W;@P&v}ey8 zlqml7FfLZ9LDhoaR(Yib??wuG_@5Ag102AakpGTSGGg>bGJy{Zs-PVsH2F-&IFhW^ zf+1vwt{}A~fs#0D zxig>SV28vRkFn@@4GqukCO8d;nPv!uE{I}|KdwNwse!BAGJ~#}GP(9v(=&fvn*C3M z!k&JhiVKfvzVCK^XJjCy`&_|`o5v9{JqMW*#aMFljKKU+rhS?L%s6ol)xSB&H;8w` zX~PiKYY+@wxUqsUer88=-xE3%X(VJKrY9otzK~T|5`wNhe@RcZm~IJZkD&SOlp=i(V(A4G zzw15RPx!(4;Aej0qzinfe89ogBjDyD$1ESMq^w?94E&}i_^W4G{Z&rw`wp{!P4{rp z>>&SZo<*CpZ?Nt+7TBhfgt8z>hzA{~(!dX}sXmX6rY3mqxxkZm+S1(j1K2zNLYyc* z$i;09FkjS~XPq64l1w`?yy!|*Q`Ptw(<<`z_aGyqr5Jv41rF`YMfXT`9@IXa$}gN? zPh*w{ePw<6@4#k~`u>f1=WT_E{1N0CHj&m-D^_J_1Jh%TtaL~d)wne=%T^zVZW_V{ zI50Y6d<1j*ZlU3ZJ6rg`1qCnK`KZ_bQKXn6+i<>4;Kd#1T0>SsZ?h-e)=8&hNtJwU z+5~#J*&UPI>uFt#7rXIg1+v1c(Ntmr+0{ayam`oyvfuz0RSTo8$Q0(Ba{_6HhcQ2c z0IIc^#`;}`QsLuM%va!wX383ox`8LQT$_$x+gmC1#Sr02j`#GIEAY#8|7gM~I}+bE zgYE>r;7&h{QFY)jl}FB^XJ5y#Gpe`goMi%=xBVIhtU1lM#@W)rR{>mO|2G7gFQZT0 z6%>2r71iu`Mt96@xK)uBj^*rOC+#BW$k7I}9}!LS`}OI>)`3*KEr!O+{K8zp<0&rO zMDw54@^stZ&|hMJ`(Fhv#Ahew-qAzhas{+-S`PKhlIPb9vJvYY$F3&@QME@2zj|N| zCe@6G(f~^gIMq#}ZEr~=BZkSp?Zsu)WZoI^iVOp9kwN!v3fElD`&A@K&h@h337Eju z$d+eWhGSBxEkb7uflS_6t_XLCp3dd!=ckakyPDuz<>PC2I@4J%N5<10kf&M)U9Bpo z*@-T=5Iu#S?9Ihwhru}epC0U+mSL;zDpIKYhGcswD%6gkOL9+0OJ0|5J3OZT$VNCk zkQd%drTA*rM|ZYOWxMoBNbJWKp}*^elW}{=uu|~L9KD$@M6i5t0eMM3h5v9liZeM& zZ)^k&bbciC_!=Hyc9vYXE`p0$BDUvMGSg$zNC(zfKI|Tq_fKH?Y2j#?CBqLcZJ{^6 zck-jBH{kH>>+~S69%Zs8sJcSvv8}zwkN=rK;};jQkaJFSu~d%dB~?J`{vzUKYP8<` zA$30L!r23-+1I2bG}*sni$e}j{+Z8AgOo9L+5@)u=y$sIB$piOst|CYht*xvp^L32 z*)1WrZWz0XP1rJu!bd0b;{w~uaf z2_bagPd5AZUWG=E6>^1Uh$6UshqY~!7Fyf0_i$!AiNm?M&?jy|+o3M}at zRHkmrOUrEW^Wi4$`qcy}y4^H#pF8^ca{0D_e$?vN#6DR5#j_e&WcRkBqVp@c{dt7- zLicXVLUkOv8qa-H=EA#Gig#^(LpB#aFcFcja9Cx) zy9(CebEgq|Q!P7?wyC0K4k@|ILRQ2-9ukGpKviUSwU=6o~FJ!sK59r>>D8AS*0EsUmaXscC z9c_NWFXe<%;(>nNI#HhtUg^{Lu~W#}!;W#QpO}?lNX0(lxbLmbu>qJ+^B|$oACl-tnXHG@85wIkcr39CdbJ}HM z$tD6XL7N$=AH-H430^-qL|}bpm^Y3}%PYWYKOQ^!^`2)1{1Kn0tS) zz;+MiXX>))_RcZ{PcTEw78L{**V32eku*nO8~(Srl()Z6pdG^J{yk{Lw&Bt!um{~# zN#}*N=V;m-FNEyaL-tc|Q?%+5tP5)7eNzL;sw0kDItEap+a!Fi?!uwm{{)RW0W+fC z)8X_(w8{K0%P=~KOTS)lrhW_iSFLCLLT=PizXNgYIrwzo2sbWq#F9uKIBKQAM96!2 zo@+q6vLrVQ6^HDfPG-696kh)Brb-1J%*naV=Eyz73&GD*F|HEM$q~HwQWJ7_cw(L6 z1sW#!`=*oiNXjA$SGTOEVx_hGqG1UZ*XGf}QXAS3u1bv?dTG(=d^Tm!G}_g#K%tRe zDarRV!aYmzv?UjJ@=svJFplFRyKrT52kiCp(0e0FG5Wb9@PT10#XbI}y>CJK$`h!h% zLD+-W7<$g1?Y?9QUx5)A+~I;%s=w$`LkCH_iP6TWm3Z6ML1`D{p&H|Yov-gxYqKLC zE9g8~ipSt8Z-4=Yw`u2AGuqldgsha>@hNE?n_oN_Azwov|EGqQ*j(nlzsiy3@|+{l zjb0ArbX3BVoUR{+^4kNraU=){CT9d+WC|NrItqG|U0J*HHJBcD!^y1WWZrm-Z_hqK zi+>GA>oFrBowD|%rIxHIQ4jhvDepD;r#7r+-np;@_9Gb{NOnG z6zAjpj>Rx&Tg2@YGLfe$&fbm?I^5=)gnOqBlFe>mF9|Gz{qS{MbnJcV5KShXmxAtm z$pLpq2%VIiti&{@4;$Qjzg8mU^>*0glwm=tl4ipN+mzDe|AkYH8zSlgbL@}OTp8Q&Bov(p_E{F z0=tvqaH~5LV;=0mso5V<6vGnyJ{0)-Bhl3+gDCo~FTf~JNcLdWL;)L7Z zZ1`9OA+sneWJ9-_Q1PQiR&@O>%~;%n(z|OYO=S_gs7TNrb`m9`;rL+F$o7qKrw7}2 zVR4zjbqtu#2GkYOtW~cmCU!N-k{cq_G9``z}fWDxoEcf!58Eld`C3H%0qNQdAa|^+Pd8~VrN^we} z_@x>^n?IaDV)ayB8Mz4h=4aR|5k^hHn^?e_efV;Y!A#(c+>9^7z0qo@5h-Vl(fL>} zbO~pehhc@EIk%RMCLfuxY@+O2jFl_F$xaP4X!z5(Rj=r6+8=%`xrye#+Rk?6^&)ZB zM>b>2L8M99koB9L@Lo>bRQD@htueKQ-SkzlB8vyv$&V5g}bp- zY3RN%Iw+UJOQy+Sp!+z;DV;$1S5K~~z6ib<&bau&hAhk^dGpLclyW?PZxHU83ewT% zFUG52_LF_=w`LNKp4!IWmU~e1kc&J$b|&0Z`sn1L5FA=o0;M`}qOo15JywOEv)}Pv zkvrt_*O-+m%)!ffeW)l@g0G@FX}l}O)Z>A?YlZM0X%53o)e>6cIhqZueTc!44YY9M z4ceE|h`;Ne<4c+yyKy%GUE8zSufiX6ME?cjN~)wHzXv{goSxL)<9=bn9R=%Wpw8_M zRW-*5_aqI$_hV;BKXMW#^o8Mdm?xawC(y>kOj`H0iL1KBkjhjIc37o^jvd^^TfKtO zoqv^ge)~aY0pIxa&xvr&sfAxw2ZeN@7Olh*O-hR@8^8O#0%IpIh3uhxJP1-AM2zS5dX9l#dGDbld+yL_paKAIZ+==n@n3U2rx zac>`3Z5-RYF6bY(6KLaAEeT1qIxq>;_ zX;ASOOW+2oAS5Q-3>a(s2yv~^1w!y6Ko3}aUc5jhXg!J;FrQxnTqpH`*0k{u#mZrD z2H_6Mszm}8unvJtJcwX$*eKM+WCk#Zegm;uj0bwii6P}G2;h$zE|5lT5GZx{3Ot3^ z0i-U8Ag;l>07Y6Q7@ckn-iI?mH9x?EefvpJ&onid4N)fKGYSD9YlQ{1Ne95Tt!AJL zxeEN6G7cOEkpO!$eh{H`Gk`B29@1ye2{J1wLYya1!Fdz{Fe|DLoP65?RSs1JJ_l|? zE<(dVdRU@)1#2a+L0uP8J@gaEmq`NCq}qXU&Q{3XL^(Kl?g)AJjt~?Tw}-lfq6;4RxPNDR$3=mWE}%qk`YXKwKThZZF8P3Q^udgB7TOOgg=Jo11d zlo}8}3mceM7>5|zs(_aiH6R}sAIwjA0{ksA4#t)o16gh9;8&_n09izBF z4E`ygcy<819h!x#Nalci84XZY*m;}PmqD^`flNy~fDbM? z(DUU*a9DiD2pKuNt%0dV=CKmmb0pxvqs4#D>V^wY5Syapkl)`wc?W}*++czpwi zxoUuqW)o1TCp8f1`~(zy@e2sUCIJN24S}jy831WK7id%Cgl68!0@G>-AoKDnaGV?m zmNIgKibbwKGe8geR-1!TYvQn6XWjPzmpVi?=oa+Ris1PFV*M{N5Cdr-Orlci#X6tV3uNISVk(kX2~FEC0~Baru_!&l!PxE% z2-yrjFx}z{?y?Ai?JkVa)NeQ-r|=PU2$q|xdsh%Br~C}IVKzd|pXh@zd(=<{f~O!} z&lkY$iW!iYP64ygu)&ss4M+|F0)VF217Yf21K462px-kE!IdA_kc5a&z=LZEG-3T1 zIC*Xj*w(dz+YandxzZzWr(pwBUc?2ut^FbXus9|xT)mKqGHOuki8jca8Uw&wdqGCU zegG;h4Y~9!28JX*KzwGU0WGZy;JO$G9lZ4hc(K2N&8Y<-=k6FJXA^ezOhN#W zY!~@I%m4d-m52BLDj)9uRbEy(dOB!U^9xvy@dCZX)1mcOVZg>F0c3{n0Q^w!9e{8(9Vw&W={-@7ae2-m8#N%#cSAr%$+BIKP$)}mJnE8!AdD$la(Kw zU6q24@=Ad)uRiek=oI)9*ALX6HULqoD1d&1QSc0w^plFB6TIE}4hh8a0Pf9GK_o5* zFd7!yfqwl8oRg-3md~JovJzpC#LgM;C9MM>+4u$=(Y^;#4q|}1QhvbY@&wTR3#5$8F-$I0#16N0hD2c;KEP@5QfYEuBtLY)d_9@TYmsr62S%>yDxw{ z71O{7HWZ57j0F0jAVKUIWdVDxL#TmB43N~}4;@zQ1ktUIAT0~>K;=aX)bd>gpib}( zl6R2|z`2b>DY8(2sC*Xiy)->w!x#&-e~1M$SKWo&;)K}0x6IvNd4G`s);I|-o!Y80S7 zsv?-A@(qNCe*xqk&w_|C6ae=uI>=Br2JS?C25JVEK(NUXXj?A_9mQwBpTf+bnJ6-- z_!Scx>M9BQq5S_ZEG)XlPM!`f_PS2ahJUKQv4u5@G0Z2$)J|1Zo}A9z(vFjZj@;S8 z(8<(<+{V(#$v$Qd_Gqg3Ohuu4S+WvhD z&^WW0*x0~g9RgCoTR;(Zl?ONh4uA!agx$&iC9s5(siBLhn!UY^g{h4LCx@z?p@Xx9 zy~`h>g1w2WjVULGw55~tAK>r4qN&GU^nYYBvePxP(|0m8cK9REKe&m7u8D=dxvAY> za{f2&WM<66$IkcvNwYRF`wKV!!~AdEnZR@htN%0NKe(x}uBq`Kg0rRhf6w)Anw!(V zhWrotoNYODVf7!jzjX5V#pWvkCg#pF%)k3EGfJ2b-T%grVVKJwjPL2cpF@LT9{+>= zNk;z{0oMP+|EK)v`@s4V>>hvwJ1ll5Cjdxr0D!6jhrWcRgN3P+%U>G)XMKOm`PUZu zFMa*JpZ=xge|Y}J|E-e$SognahW5^X4fmH^e=h%Teh242kNkt1x;f}N7@6uj|67=U zX#d&==4KqWe~|rXCI){~I^8GqQ>mh68{XRRn)M59Iyp`6^iZ zht8G{>%(eiAvWeItg?N<# zY|OE8Y)pfSfARmbra$^Kvb5JXwKImv{SWS7ZS2gW>tM~JZ|LIU^k=>QSqiqF|F1pv zXD^Mx1 z&(Zfk7)&;6Q%^HjJ7WN*wLf2@miBgkt%>9BMZxH>FF|t`3mA`slNoHiZzQGvO@*1P zT8U6kBIk#)d?3J)bar?`$%|4j#-7cPcE^GoX`^_!O+hc^jx)wPYNpn1gSN-jz);?~ zr0g?LHytAK97U#XZW=$4=-xB(%TxC8^179@1*b>Wh84oGqsq0$kAAdPQt>{`>HaUz zWYTk~Z)_53*3Tix_z$t6zsN0(EfqB#^PyS=enLr?aV{y(wCZD>w1%S`k6+^jkrb$T z*S*v3=9^~wgkx~dNL4l7dm3s$|H4!3=LzpZW7VQ(Ecy$6gDCVY8{rS6RbB3QvvhCR z+vZs-Jq&aW)Guh%x0B1%OO4WGHAQiEjji~8s@G$dF>>h+)sF0nVO55yi;jZ4;=<;pHBdLZ2oZCs5h+#+qoi<9iYX zz1a}TFT;cqihF}{A6bro!}ssshn!TqhVH>p(Jn?1nH~fRM^g2cf1JFqx5eNSzYGqN ze98h(9#Zi7wBJ%MlPpWzqK_iOX7AeY6Po#H#AMk-j*689tJ*L6B8-puoGN8DPfzSN z1-x*SPX(IO81MZ^OwV%NAeDT=?|zy^pi2Z1gdIoMX4^~k6o&Y=>qQCta;rOVJe^*OLTR$ihw{npZ}$pgZz(wzR`6W~@vIFW`$?5q%ibbX+|>zj7=%+j z%6hY_2CV?XEtjni+iKn&;JXt!^3 zWd0}l2}Iug6*S9ltd{JINnw5=B`qQTt7B}%e$I4~_1Jjq*ecDBN>&}g*oI`+*!%VC zI1?u9bL_?lSQ_kS@i}@GO2j>J771sg;}u=SH7_VxS>2zbw?mm-_jAeMqA-SXwsu|Y z>t-&>U!<=`j;tyb*EX!;JO&DU_n9lMm@v!J$478a3BYw8N^-{~q%b9~*bcj^bH5T- z`!UM>`5vuu_#h`z*n5&lY(~zH^eZzu4WL)!NZtZiP*$!sYG%GNp(brYIVDLjRxkas z@-9-M%fnw)doEAMm%O)W3(oBcZE(qGijf6DKbF{QXT_h)GBvMDaJ}CGDnxh;su?1h z7&DuFnXPUG226mj^IAbps3ofUmw zAh#uegS|%h1#gs^B65?h(vxT6_8su3*YVhmFFk!yshz4kH7X-3TglurmNAi&=CHp; z)v$<+E|NK6t5Z8#vurOBDu)k;WWSKn@_Igx?9!T%-5TxtW{>~S>+p^wbiqsl#dxB} zUT%map!mUXQ?kcnzQT#@kkw{Ho~gy_x4fs(8FpNg|&%y$lUJ` zg%q0>O&KsqcG71eg#&2%&E9$p$g^10V18;w$LsUhUr$yQd?>tRMkOs$yg3(QB6)>D z%ST|~*-e04MD?~F8|TIjT5(`T*0Y}?)w&Vf@BL+*$G@5$jE0;nar6{w+q8#LXqm#L zm04gEjvNc5ur5^io-l^6+Ud~OQ{XumA~CqiEFEIvWgD^;58-@lGdv)Lay=O}eo`8* z>s-f|=OF(yD{C5expc5KZ0NY?rIA6IZrLZhkc)4Xq){e6PumEZEU9voTeM9%v@Jwy zY8eHm_p;b;8Ywyno~mW0=jey~rQf6!`wAIlMDX0YGjF8oCmmr0Vq4%dL~x_ekZu3S zU0ME^-mK+O7;>d)>_kZf_5^2sll%0#CXK%GVIX}?a2m81TkLaP! zfWuri$^IW4*Y1$Z_oZyIu{Q4hVJ=A#qi7tbdPd|jngnmoZ06KI~ zKFbnRxKtbA0_Z_hj4|R``&a5{!j}~!h7KZBiKkASVtz?6XNUST3j&lj?|7Dd3|x)} zi_Swu?Ks>=LIRM!WGUYgsQ)_I98>nj_Dx0b zf`zuw-i>HrGBK_EH5Y?r@(nqj*v%B28;kX2s|AoZU`Ks)O*|dJtN#j3&2u#wxAQ;;y5OkE)OcA6kQR%i?|wH zS3h&<RK6ixyB47L!1k1=^C#Yzx<|Q7a{h$)bn9yh=<#~eRN=@gV)7t3D|f^k06WJl|pIT zw<&_tCA%1g@#A>lHxdRJyjX#!jOcT_i1!C7`W)k(nbUDyt>-4(SYlir-ZTcE7!C4w zZ&!$HjLEudvC*?Q*5JmK%qsB$$A7M-P+6}f3UeAgr52!UYClHL`xcu1ta&>c&1sqb zCXZRl1AFW-xgo^}+1KRsYG}tkUry~#);FB)@pBJpjPQk+u?(sU$dX=WXV1^`czbEE zh+TZUbdW2*MwI@{+HL_;-Mf$HrMa!Zlqntj?%3jwXAEcgATX4O!B_Y62*dI|+uQ7u z@50E_(S)3QJ-oRHR-6{<3LTXW&t&g|83DH%7Cs)&cUVKI>$CyP>@1f>72*~GOjdnE z@~+s#XDl8(;@DO@Dv1r-ExCxw#`kYtU|JL29sR`m)kY&U(6hGw4qsd{3M0?zYJAp5JDw zF0nQJ>gTStO>+;@hO`G>AuA+Np6FH~>nZvPvG44p9W-mn6V#`p<(J_G*2qjS00QArWdKTq!7gig6y6 zYk6itA3Wc%2u0-6%p6(Ied|B01kuA%z6(Yy`d$Z@LpQelj4t{%Lo7_h9Z}w(rw*~$ zklyS0>1xVbH2+Agc zeFVhkjS#96AGJ@SkG|7JSkq?(r&^sZ!iUDJNe^|kqq@Qex5UMfF^e5!oEUqDZoUc_i1Li^@sD2JP4c*R zmk}}dYG;{O>5B8@D~ZwtO}1yYrhksbn#Oa+=eL)CXVMw$fGdAd(wOn#w-k3m_wxn!3%r5t`kul;oT zE;mDk*=jxd#F+9pETgeIvh$jSTB7s`X<@3CYvm?@w~#Rc1BzNDni?_oMCmlkYM$(yhLb_B&B>s|2TM?ow3S-iHvrkt97mKv?bDXYMkLuMyTpCYW1e-r#xvS9M z&Y^ajs|=OtCsqupJl|D_U1Z}m()!Gk@S8lTJKk%5#9R2@WQ0P6qg~0}Z==3gT8N>? zQgvB2U>nB-6ZvZ%^*7t4N9IsVGYTXWROyVGrA{f6(PbO0ul?l2OE>L0qA^-T{*Z~G zmW^6#KdZbYDexV?Br3P?^l)u!@yNbYONa?9C8Al3jJ;ro@n+^k)_YbpBKPjE4#tYt zG0)IlG;wrx9PyoQ-}|aoA`gm+4z1TJT1iiEg;e4}=;5o@NchuIYO@;=WpnICf&@hD zgUZOc-;fYOZt0xpstxcA7e$hGm^}Gg+GwP>*7zcF-gu6vGz@UC4m6YH`1KR7UXTB1 z?ZJYK{wUqel?#t2%xF`Z8eEv)TOv9wDyMs^lBkxR#yT^;0vGtI;>d~waHcXW#FvSa= z45Hf|t_m!q;kW0c$(!tXaB!rMWv?Vot}=1uOp=~EMvA$h5=C?6zae*Q@BPK$))SM> zy~4tpo+)GhberUC14C_Iek&1aM zwkDO~ectn^S~>t=6dSE~(6n4nv~eR?Vmng8!GH4^9js^ipf; zAw%QpOmUX`{)1ZiCZzFee7%DdCth3Mbn6|icpYF zDgd8Ex1Jct4P=kfRZex(wY5aVi#}O*{WzAknqzD?Vc3I5Vz$#A3rXmG#{xMSCPP!dO=b3w$D&+a~g6RtItkWNo;@Z5s?(G1Ms6INBMl@zqNCV>Kwp z#3u9lMHkFi`9g|VK?PuWqKUa&Bsuk0SL*8qNw>E}JePGR%`Y3@jjPNao!;1!d7)^J zS$GGrTph-%byiVwzl&}4XSIEkXVRjKDQ7mp9JtjUPs!PkjVG{&wHaIco(p^<+AZ}c zlFDAeGIsslH1I*a;%D{rSLX6u+lHw;Wwgw$b5Y6&UL`xU*^bQur#u}cRuXv)0@Y8w zY8!G*P)q5m4`ub$OIkQTqjqlwH}>Qi+P}OX#!?E?*T$xU-aOQ5De{EMmpTr;nqpxd6i)kj0qDO zr3Mm_v(H?0#c8u@k_JK?Uoh7IHn=V8&VsG&Ii5U5YGqkcCP7ggB0-}s+`o+Ey<-86 z;kP}Yk;*7#BHh>e90(%3f&IP4mNVLeZUZjqQ=`vb{G1L#;=R_r`+Vbvzdvf&sA))QrVTG ztLW;fc0yT)nl&x%Q>NJg`LdwlPm-qR_cs^4p=HSn>O|BVQ>7wp1*7Zv`^<0($PBNZ~ zX?s`P`%EIFAQB~P9*S*q^wdsSP(B$#H5jn<;~lZ7w(jt_cd#0md-80VZ)IxU7<1L+ z@|Dal`bq7NLoziz7%i^%L@H_AL-$HnqfvFOsAOxep}ifLhp0uUntbJ~lJFv`)e(j) zUVN*bgLIm4Vh5jMX3B{_`b;u@9(0AEfS>zLO?7_!5?z?{bVom&+Lx4Z;UKQg8l+xo zQzQ2KEs1qnjZQuBSmXLpou@p%lFnyJLBC(+qiejzHeO5NDf|~oGI^5JJFYf7PXO8 zI>=H@T|5mh@>CFDP7_-d-#HpXYkVd{D<2qmJ8PvNqpOGJ^NxUOJk5!Scj0p4N;NFF zjEa=iF6)zHu=Hv|o1K(K1{yivqGK=Y2VkD*BlvN94Y^FLx+(IfPwKbn`3tB&fF`o0T`FD_1Ia=lsWau8nazDuscJ4S(pL<$2W z7vD)HpVSNmH{TEUtOknBk5@CI2y~sL{`MZ-E?jsf4$(Q;*%SkFX%KG%)&elUlX)Fy zJ}>F>nk-<`g8D}-rzwi;x?3hDdU|KyQS0>MtOWz#%W1fkXY~#DZ`9avjf~%@Kcm31 zc>k`)tlxRmSg4b0eI(rP*AxYlxo)5#8Ir%z4POWw=_>)vgUtdHR)bH&{4?CrtwhXE z0<+MrAau1}A?cng8#&PzHqFUwA((n4JTy>y`%5wbn48mmG`UN(R2*I2>KqsU4@FC* zh=-M31>pz){UpZZ9d|UZ)CV((0FuW{64>u(SRtn|%`SG3Vn|v*40f%^Byaf}#bU2fVN=tENlkDor5qS)Z3SF06dFwSP!5j*x_ zCb0{93$J_;YDU@z;krn9na8G#T*Qupk!0{ZHAU6aES_x`tEVCgx;o-^g- z%{BYjKM9~f{xqj-C@V5(I&0lscAanHM#~l8tye_zFuuLHjroH-p#F4NKq2J0!tF8p zCN;9(f!yHBuL4#f5gs>j*9Py8oi%Q}7Ic?byV&t_CG4-+)DG`z?q>b*hCD-0w3gqF z>pikA5R7oddHuFxyA?i#o6cZQ$G8*kt~%H#LX?Z`L!+8+q-P5X=)YKAbgb5&>?itw zY|z`;zB`a_sBl%>dI$S^GMy!eveuzDC{l6mS1T8B)HXgTo9CVY-Isl^s;_a*&{Fmr zATk0r2+%JgYhTYxq@}Liur?656=V{}w~$fDzaj(qL-UERL_^ZrxDgpyj(LTJszh zPp6>HZzAeU>lw1isV7sdB6`@z4_ro+dV2FrgyozuLSb9rP9*S2MQb z#+frBFgtoz@!?BhUC=-SNoTQ1ceWBBGvqb>>xf=Q`<@}3Zi&V-2_zfANR(jxr6UaGU4K?T|IXPC ze`PrMjC<{|37H}m0u_AW4u{GBoE|L}wlw|kJw8rwwHT;DC;k`}j~}DIGQNB-m$4Vy z7%{J$b4eExuUSqiS8MNyxA-1D*=#G8jqeLgj z>Nb2jcXDgZw)715dOnli3T})i8;Iq98b+6P(-lbD2Le52re12wJkA~2+xa2)W%aCkgK-Zxbk3m3rIREp+&eFh&KP*W})N$RdIcV=fRPhdl*u zy|=pcTf$w>bF+9-&=i;QKJgCZd$aeIuleaDSRjyeb4L{>XM5KwNFe2EMCWy>8CsFM1gnGTGM`VVJhaj}MXb;BTyIX_7>sa1*gN}*LCn8g}C$-As(K1L8FYEwyk*&PesqH5G0QfvkUd>caKybRR)H4I+BvyK(8m?e+ERwmL z7+WTGQYI5Xo9$D?cI(>@T2F|kPnvH&9f^x!>9QB}3UdU%l0I31^m67Bt4{6(^Kc)N z!`FOX-m51&@oq0l%X6Ms@K$=Q8C_u_0k0A|jt+MRORDN;T#vDx%dL+>eshL^S}aC%k)mnNbd*+ws>wZk#X_UqSqknbktG zpX9UxhKxWW9IxQt%m@k4+UEfwQ-0eAerh@Lwvtyf7d9(pak6DpP0=`DV^;roxm4s+fk_WT>=X(I7Q+>kz%Ydm>dr6MZE}V z((Q|FEqr=mJ6T$X53^BSo9-??tB7?psLU5|Q7E2)E&H2P0@(Dt70Z_RKV9&Qh{9JI zM2RVWXAu^9^WXygA4uV!h+?5kY`$xo))?QIcH31F%}-!m-t|^5+S~^YySLE3wA3nq zZ5lh}mYhr6RnHIUs5B9)`YY2Ddiphp15K?73~}{b2Se@PI+5Dl)j7HkFGV7m2Rd|U z1P;d<2m>0Z1#DwZjDL_n6q@w}(DQym;21&upf*tYV>b7Yfz|CoC~= zX!88=fAycgfdBH55GbR?dq$zlZhYv3s`m(OmYYNNd=b|6ET+f-iyh4*Q+O6rc&L8z z=X6BRSF|+<+YR`^$tHJw-_hdLEVdye%V`!m73yB0!-{|1zkI*VSZ#Y1SnFN zdq9fZ3cQeb2LIF+|Am^YO2(rB2GfFd-Io_^MY|%UV+ozQA9h}5O_iu^qJ<5k&JYmj zL!KlcxnJ|=EbD0$d#q?|EVt{PQiN}~MyVk7)|~VdHcr$Z|8j4q+G3Ex>s~prWWD#= zuKf1h;Zo;d^};P}Xa-GslaDuao{Tj(oWR@}_<1XtP?E)9&5+W~Dp%HSmS|~bUN^rq znaPUaw?gbdvv91UN3>0?dTq1uUGp*|M5XY$oob2ii6`AlmL4`*f@N06hd%0qUo{8nj z`33a1YP`~#B$52QBX&}QhJV0Kqgg*06N{-8RlKi{ zrG^qW$G~Nlh{2<(6AqfjHSb)iIMF;WOqo4I>_SZ|Of7BV>$QS z)XlO<2_fZ2yh~AW6_~4j(w+Bdi;lVei?O)XHW^^LVusR--m1Q|qK>%Ckl{?4;2K%^ zoH*eJheh&jWWXNe*`>P7+X2D)C*LId(MnG*TK8U+hts<7Z!!IvzZM zbhKG!!`JMr%0|riDTgnZ`hJHZXUPZ;T3|qIkjZyR@|G>5#@#iqFRpvw?t13^M3tv& z1{IK#o;Rbhs@3`CCOI~O zZo^RBJ39bwu?NrH0%6wL#-v6eUNZl**6f4HS!d<6pXD{{o}3a-7Mm4!{Y&T2fKbuf z1Ua~`r)~~M};`E5gvXYJRcFvd#C|!N}15uZs!hG!wm2hIP+*#I`h-#c_<4d2< z778{K;rn97SA5E2lCGS1x0(G;YElYk{(LT6t#3i`_vVGYtnKrC93PY)g(Sv7&iay< z!5Ys~t@?%|;MyIWMu%%ICf?h58YGby24qSttQ)jL*t<(~*$WTO#T6-?@N|h^5;4(l!>m-tra}%st>e6l~5$ZNn}O5zd|3} zz&iI1II3t3*UM7IDrtQPJqpv!6|c}MvSPFkuPfhn?o6AxAPcNusvx8k&uSA@Op{)F zZeH7j1iF%&-i?fDwckY0TEM@)xV^@3@c)#PQzorSZ?mVHf8@62&sJ_d!C=8tg7GSp z5f&N7Jhg$E+`8l{g=ToBgA}xQDXH$-j+lLxVY>R8M6T)h1rmg-@h4jg9+Yx77)3Ke z&IsLA-Op&g7fysTsB|c$Deb32YDf-R>A_(s(W-; zuBy&qfRf#Dw4S^2S@SfwDeTC&@k>1+U%TEi$4%S?Z*^p(q1+i~8xKL}d>`VKpPtcX z`aW{L;0BfA(Cnb6xkRok!AIQu={Ez=*Uxct&0gf}GcSbX*vl59yf%y|POAhM65g3X zjOo+Y4A3t61y4L!I0&Z4a1Sv?Cy;*LIFT2R`4NacR((N8n%}VA9iD7=5iDfpk(Kn9 z7oDn`??G?2Eh6AUo;z;Nt{PpCQ$;gZgnSax6>DlUu`)(~IXvgv9N}!gZ}j8o&O*jH zcg&K!ZgkAl>AGrQqgh%ma{vB1VPvH|JylR*scJh{QU?XUz{VR1d_=ze47;A)leyve z+po5i0r>@@Jt&|2R*;I5zYOX5=zOUmp=8am%uxFfXkpLrZG=ChQ&s&{B=o~}2Tkh- zquLG@%28SSa+>g@k`mK}Hr1Vb`yG!*^F3qklBZovT(NsZxx3F?0^}Zik^9p-He+%i zSh=pAlm4Bw+Ve{3WV?~W^eIQ#oR1w`9*wqA@cLM!#*?FISSS&{Dl5%FHBE1Zw!sn)q+}}>F;^aK< z^TVrjVdB|zrm>X$Rk9ZehkrqGV#Lq89$w^jU3j4?`^v=_Gle|H(oG6!>aJe-H{&}h z?weQPcK7m~BL%*t%y>4%AD;}qhd%2qLz;bH{Z4_>a=H@f(Y~(FsT3zUfFtc1Glswv zI^85ImJGj`8HdszwsYj`%$d=H0EmgJJV&wm(tm+I;{-$oxslVi-;|VmHs|PY)zO&( z9#w0!HmU|uDKUa^zr~Ruk2+1_ycQfXW514W4<|;9h#QDV-7qrniXD{+e%oJvU*0X~ zX4xt77A{Uvf&G`sh6C^XJ2f-XQ)HB`LJBsO1`8dVoDZx)!ox^xCs~dzfwbX^Q=*(m zbF316V%>UZHuNYF3BMAruGvbE5ia~v+Q9n;`#rPnwDL{+&O_&F##)2c`82K+?60}^ zuV&vcm)+4|96VeUP$hg^7ee!=k*kzVf<v5LNmI$8_4kh0 zJpZJ2cSz2q8iKlib-NGuyMDa3qq5#q|GFRA&6Ug7_57b?_-W?hRIU7kOyy!|)%M*B zRCK1FD@VMan02$kk?b#qho{KhYW$E$*l4MBWbjd^HX0s%XzEOMs7)I=Y%(7f$gJrULdh(rCIyig= z69u5>?nO}4nKIVkx0kv*9N*4UUcFgH3jcQ9s-LqLC^n2np}f|1rnny1V^JNsv-$X| z%2QY3F^UwTETXGj;VMqc$m7 zlnpYgsObqaz@aZ*`StXi*p|CJ(j9YT?^{h=DI5YRcjr^aD{K595c>ejQg#F1Rbdk3 z_f{k_m(b@~z5Wzj9w;|rCeGO)mK5Eo_G>J{hJTQOzEy^&nMQ_b!s-ht*^Jj+vo0Fa z8IPn<`c6ImuL%4{dsOp zXv^}A;1j4Jr;!Ujz5EkF7c|>>o8D5-inUEaxc*ZW?Tg#A>;hVR2Bu%f8?3w}8BI!P z9-162-gAAzC12d_bfZiMf3UrsiV_`XY7p);@Q6Wdx>V!I_w8r9gu^N7=ZLm#YTubU zVE!D{j(G3siL6Sw<38#dRSrE=ZCT>sv;736y&hmvYojZs;FX+K1UHUz{iWlBk ztvs!i%@owEZDiyLvHC>R$x`w`7Eg2sfA*y|f+%IiL{dfv^G1_YI0EUSDwiEY`iwnj zBNrx@O^kH3zA`TE)cDnJnSfA37$Mre0*~0n$V|Rl&5@A_d7qErAnCMf@%h*DDXshD zyexT*(YI#M;Iu%5?<_s4d~Ph3GZ5sioJn;2o!l=g=bNDu!j@^$@h(f~O!69Tu1X%9 zeD9U0IC9?;a|k7`UG+ecXy35HW&iN=OBaMsQPOL>zY{^PxN*BoGGnkGAroqsBJJZU ztD9{2&2-br1y5vN=cFihlQ~YjwsrQ%cWcRgdljeRFj*ZEJaU9FKOYnR!!z%EmuNNljlE-h z{)aay&)D$SAHb!Sw)umilmHX%hTBMYBJ8eh0G}GYZuccZ)o2M87Hi5DYWmKh%XnB4 zagsPAR^Wyk{|R&T!_pE@^>W7Y%N{gT1_y$6QIwnz41VgCQJ(SIQ%}X($D=Ix_qlja zE!dyQYA?4$i64D7W8Xdev6B)fLPW6Q^o%pWRYe>r`EJ-(*Vwkb%!ER;6m<$x^K*O$ z?kkC=YF-e#*Wpqz_Iu9K$6X2g=Tp-6j+F7(yi*y;BNdi1jYhw8KB|vh1evGan<+kR z#LJPB3Q0|@O=byK^59qwFD+d~{nqLi@e@CgtjO_C6AX&R597aU$b8uAS z)MM6`Tb@E3>oa-T*V$V0Y)ptNF3v%mXxbgaNQt&%qLDhQp$pH1rchdOYxdS4kVm+1 zIK`t7?^9?*s?@gr5APndW~7C(d^beWOiF)mmJs&YY#M5(%l6yG2mRplu1njL>Z^|r zr>KweIM6B~TjlkA>`Wz^bG&nVXR18<@3q;Ua$_{NI6t_;0}a2Y*?H|h*p2(xgulW? z5>q?FJzj37tK8END|nrg-hU&w-F%p63o&0h2*Sr(ITkOjHE4cx^^QNoc(OsB)%}ZF zz?^TbQRK^s8e6!d!036sxCux0PyyZ`ycA(ojPK^z7SZdF#g(0AhxtKq)UUq7UOKy) z*V-b}(F&vF^iu^R1#IJ<_XlBIi^G$gssf?zbq^;z9^r_++cg1OmyH&Rel`8Qd07F^ zd=BFHl9d>7&{G;Dh<%S)+i+e{=KVxmVoF-!i43Ct-g9tK-f)elx#YohVsB`EzBwq{ zr5E@%z6?W5&y@N@ZGrzh%ciLJZb(k--r8QI)+}A z6q6_J;Kxsd9cBzol}M%_locC7%eM1P>{1M3sc^5n>s12Td446gGkGRr*sI>^Ve^pS zXWSTfyzefu_{5RC(_aapgrFM=m%R4=We|)ORYLZXR}QO?#%-@*92fBoH4VBv6m3?_VM?nP<2$w!`<7O5)JUg(0SY5?8)VI7##3RC_9MG+J)7SwmbhfV`U$ zu#$Y|8Yl8a2C3-b!ufe~@H;_*?NFs+3+updjwbU_w+9$+95g<2lTxGW8EcK_(NOvb zKwyrqQ-HK)_9Wd~`B!i|Ip6!U_B%dIi2mTM%fC4v`E7`oyZZHgK_(ZWdPNck+f{V+ z2Fdk0OOV-5gH8sjvS+G__R|YIQp=CAtWQ8ICtDjGl^CMR#FnL2f2=uOF)~c;U#MN| z5rxCvZOkrX*o|AYRgspduhBlb`*|hAoo1h7oHvDlhx6gjujVA z94ji?SGd1_MC9ZgeFzUt{|5eZ~gYQ`R90io|O%F%`_o$s1~E>7?n7jzd)=qm0|VJ@3S! zAx=<5MIHX-%cpeDo{1|pG#tMZ5gEGp_U$WiWTf$aQqqpg$Vj!ng9EY6moH_{=;(eP zk&`3S=jR{DYG|Z(!NCOu`1>#BzkU1h`@z9)?CEKjTw&punuiCGo{WqFVG2T4?zeCp(tEi^GqWp4b4OCYvp2nig7V05aDGftQ4Q{Td41Y0E87!?Lfa%5 z86)!Eycy4cK*U7J$i6SEuJZnxnQ1VLjm>3US-E5y96aL}5E#DR*@0PihZ=0Dso{x* zh2_%(2X7cOH<#nPy6Q3{CVt_vvrE4j8{^uvupo3&S6747*H;oKDkiM-_jBBJcCww$ z&R$b+aKyIu_0_n>#jV=AxR6*bEL^cfMXgyiHnMy~MGg3no^B3hVj5Tv3^ZJQ@}#G; zpnxGJI-08T>(>$_F0N;M3JPz@`1q9E+S=?UH8p1f?d^XxEH3gK;NeNCczZ8>xw(O& z@bgF4x3;n-p`ks&0KtbRB_-C~0|U;@b#*p#)z!9(wzk?lQc}uzuU^G9+1L=dx3^c| zynY=&e|+4e>F&N<}|M=(^EGdblZf-u`=IHqTB?5w|l#dUYv8X7fvZbXChq3WO zBRxGTB@$A1@AvQQSCo_=ia&lVV&~x*`F(Wcm3n>MAy-?=oIXD8S|A}Y880h~t-Ze9 ztd*L&?Km+}Z_?fU&4HFSs-m#aVpvZvWsrg4jS(9gnxM9J^2pMXTiNg5{$VL8CTH8* zE$@H)IOnFOMqz&byl=dz$$o~2sCO9~J1p72;Dtv|&js7nl}}_%&57>rF8_qH^GZ24 zx4dUS0C~>VmdEFomLm;cUp=bZTj4%^{i!Hc*8ZK%O}-@x3OS3u=IVT9&Qguk1Yh$- zN{4TF=tuxNBNefNvL z24kA23`IodLaB^Jk_=I%3`q$oQ3@F=p@CG2A}Yz43`LWW1{Kky%qi0EFH{3C85#5 zSu>|j($!E=u(w{bGRSwkGf`JEu(gZarkP!TAR>3`?fD~#q@9Ow@%VSd;SqOGvQU%7zq4}FLK z%J=;x|939HDE=Y2|4(s1ApZydM1K>cC_(##zCUXKAm}ITU-(W(KQEPQ;OFA>2bl4{;`8(0G68J`Ci4Ga6sY%f^xHnsjhFYIC0BPB4`;1^;$|l>rh>!4 z$!h}g?CS30C+OALMIhtovGqSx{j1M^;%Wa75#TH*5Vj8P&H@=fZ&!Z@4{yhbvU89C zUheMX;N$oQ)Dm#_a{mJh?(E{~7~tXWAkgpa>+bL7DTpDiATBUk z9oCxaTPO+e*Z-bIG^bALoxrUMF6!U-<<76-lggh8PlEqq7TgoSpnw+l>0dZp;EVWw zv`=7ICuER+C?A{P7wDKEP3T=O;QvQ6Fwy=`e&(C_q|;G<;&UhXqyCM5qWz!p!2(?J z1djG^+Juc#f9d$+{uIKwc~Z}Ro)1-lo;U&DM4GU}Kv4fDK6rwD{4W_dK|WCzgfjyEDYI4}Gl983{crTm zf6+7kjqWqi=Rf8|&H<3*Jpx=7c>4<+8T?h=C3u#d1a1w0f7X3H1hRkf`Z@c#|JnYRZ34S2 z{%R8-ySF%Q6|nxz>-IP0FWEn=`Lp~dK7qdO6C?lUI{Jq%4Z(UW z82EphufJv7z5kT>FAV%YB>laf{2z+_2fJXI6#O0k-yh@ui?#{5zZH%B{w?{>Lm(&l z&*N{t|J(e3I?n&we*c#HpZ5PhmH*q0|J}Sg`dIFO!TOx|%3ZQnvDHU?D?Oy+mNe%Y zzc9P|QMNu<5&!f&8CFW9dZ^(`;y$GrP@7ngi;`^V@(}O`*c+1r)X4$1FuvtelygE=C%`RWZ zM(5n)ILwR;2U?M7bEVmt->hh%o^Q06VIA83M2qQax(Q9*Lvb3ut;FWSbnr!P0dJl& zjb-XSgG$*xkZ@=zcuOc4MrsO)2GLUVZPW$!^1iq5qkGF4zPEywN>`%Fma4NEag(vA z&-HNAz-ne!!3FN*nJn~Hk}_S`ZVCqcaG|c%>*K}WmePv9wh+-5w}UM^zC!y55x`{f zCr-yE8;~6_#yF6mY`_n}(=%PLmSNafCyM7;-bG{dk zy_||J8d^wTitpG=^ipI#|%G zem|?Xvz&Nv2H>2pYJ!uwNc^3IE-5Qy!CrrVfm_g+OFijc2 zu0eYag9ztjMoS%VAjc?U_SW+XU}!r@yB^<)`}{hAe;PG`6IR#YJ%c<^df_LRD0-9D zH{OUZkrbuIDy5mPW$}nT9LPDkz5>J#yI|+ZgK$nN$MvYm0JTX`P~=b|a!Tejc0=?8 zll=N6B(~)(D-$KcdPiW?)LVX_yx$ut=x{dE)L2i}lr83NcSv&Q)O`uN-;K!c-uv{i zR1&GH5T|zDN<-#Pnu*VB`-A{m>1asidMa;M8xeU-p8s4MggSJ8MdK<(sTm;(RBlNV z*)D#CPi@g;6;u;I!)zA4b}}D}eUXEG`#z3P<8svKUKDIwq=pgKVi=(+f+`KL0N!Y> zrw6snsF7M7>iY{j{=(g#uvm)%-n!3#9nXEi7)QQD0_xtQtbZdT{Yw`bthff?4R4WY zuXj>g=%>Kiou_f045g>O75G%X^A*n(ie$cfJFpeaqrl`cFT^(`8|F6OBa?ev!7tHu zq|t&*$`yNvFN&>Zqt9MMhmT!HZde`WNcar)Epi4q~Fllldt7*Tl8#+t|@sHBP1JCKzJV372#0_^cQf-SF)q+h4a3 zk(x3ET!r6(%>v!%8#f)%bHbC@_wSXV<=rjt{r(%+=`LNm_t70h&R&PHSriDS+z}y9 zWI))$@u`$gaTZ1hwriwJc0_IzWe}@`S`oR~w;|2rVd(fkGoVt2L(!SOWWvjD_*aLc zIQM=CdLKF+n^D0Mc5*m=Jj)g<)x`kW;v7=L(i)45ya!CBUP9maab9E1eeBL}92oQ3 zPxlLLhD#i_v+@<|k(pP-aZi0!>eJrIxMqsZmUgOr5OQZ%@J7wxpvPQ@ny>4Nz3%p; zSIm$CQ=Gf_2YVth$BIn+`5G(wVO24!w>*HPX77TvwU2YY#}5#F->RrM>t0^-6UW=H zeFawfdQ$GXdXTg7P4K-=Ar1<=Q4J9VV2i0gwTBWWiM{ingQ~(*-Pa!E;)i5#?p8&5 zuu%!fPd!X*6?uv8>JCEVj-m9pF%QS?4Q1SC(3E#r8hh_0jU+wl!Qs0**%o_UOiiwg zPT670I~eIek7nmFJ40^KOFbtOWj)uCOZN%fdwnao)+C0H{W=23G}|NMwy)XXH#TH> zg*SIP>KEO1YC3Yn(vGK1RnZdKrubbQ3W)B@DPb z)13OyPqL94UbBT7JFsgn-VgyIivUIGVld-`2*kC`MiXLcp=Xz@k%3*o`1CY&>U88J z{Ep`>zM@T)OpzA_!?+cM@s%bfS-J$Rid@Tr))ri-F%LvWx#L%k`=W)J+3e2tEbh>( zG{N;^xaf`n?&M}6_^m-Q)wX^X?YM9QVidxHLo*ZzSzsfaMb1HN0)J73B_fcpo&;sp zehVsX|j{3 zu6KocKkTIKJq-z`w+eLqMFsd_&M`iEeg+yfdj|;3TZSoqm*H(i4)Ukba%^7oE%vU4 zJ0;qAkCIm&qI?%$#ARL!e0OgRBnmSG4q2Tg$rHxTfFzHC%dP|>XH$BSJ1b65!a)U? zZoe&Zu;m<>O)R2sEAK+3UWU=o^9m?1YAQb;I1jGP%c9)gmXJf)2p_97hB`V|p+jPG z&{30o#6ET>5pk*r&m9eg%X=K@%%pu_zUl$u^n$k_p3{wlE#Hf5Hjm>APli#Ri}Kju zvE?-Rz8U)R!3Z}zA4z<;!m?_w-mss)KA^U{SqkFTm5^nXefSSV9cl@q(FF^%5k5o@ z8NZ|t+C}6rxh5M>u;dF>uW*g1nooe_=hx7bfLy3F^8vZyQ8MOrOAp*O3uUgIeL_Xw zFaQ^>IR?9Vf2CXPFXCObj_d*bP$vIQA5b*&J<=*|MC~qh=F6#t%=n%l4A@Wu=j?ur zS4UrF{Im~&cCKzXy+j8L{IQkHyzEAI+KOXEhb95Dx+6fD$=$qKaueZrwgfo*u?4s4 zwWOvFHiJK&ykrtuBoVcWo75ZQ_u%%gv+$pRDHv`dgzM$vY+Gy*&~9$bo{F<01~E}$ z*#brK^oerHV_`pe;lym-rfmZs_+18!E64Z}<;B#a(l^ZZK1Jv-k_GlfU!hmMP~x~= z29ln8h*Jfwk`k{T<6*-iyl&h)t~>cXrB<7X75Icz58OoL)PeD+xfFrah_^6oswuGnydYnW4mmAlTO>|9D9LdgR3 zO{|A5wmRd>O=qH~k&jqYdZE_04qti^h}NI0I^2wS(vCPNVbtHHi&#{Q15|g=n;} z99E{T1<*`5;VW_kq~0geu|c|osymOp``nB*51BLP8&mlWT4!0)ZKrWyHqRXiI1gVh zoC8`%{{+O>J_LLf=TkX>wfyp-9%!gk7JKKO4Bi~x#;v(DhE%Oq;%2TEWnXRb!qmgx z@%OUDkXZ`JoZ7+#0A`VbZXW{qjgc_=Q!fh9--i>)+#Xc*@c;ttALcuSt}wCh<`H_F zJou!21{m*_O)6bQ+1S(=O#jn5deYZr#%nzvX`ZWtPgP>02@ z*Ku)i-h{3GeZKl}68q!eTDp0rrywTxdz`)$kK4!hp*vjmVB4qOfLq*-W=)tiysP4`b_NCEn%2Zh%O)qO93Ql~52EBZcpmm?{rOUji z)mKZY&6DP^6*kwggc?`sqy9U-)60YAU+;nw?pKkf;+=53Og+%LtcMpqzYNzv?7-RY zQu#fVMzd!!*cg_K zD+pmkc+VMd!2U62)LjYuTDyZE#_vKM%rrVVcoXwu`9W-p!6j0!G>k618A;4qnaniG zZl-H}4k43bOgQM=BH~8m9BjVMKK97;hji(X8@2DYCu%O&2e&qwf$eKSFzfA7@Z95Y zN@wy-I$I)-swf!;Htdrnl4b``&8sfp7IoU-tXbA<_jn8V{@F3`yx{+m!}n?YMM?>q z^fVJ6%iD+CR$_2%t?!uQw&$GOzP7hEv@lN&megjj0rtF&bR%xo_e_R9*L zc62f`uU{GWkX}F_Nd$c2>=Q=o?Ky0Jj1xR}MJn;tsueiK>_hh2eIb4|xUk>Xm4SON zic)zEQ`qiF4gBVqD(KF)1lY@9HuXv}8%u001Qx~$aSi=iSd>^QmbA4NQ}nZkjK?xi z@1lP6M{*;#=d3Vc9@NOCuUtU7RCzIhvDz{%>k1WpHTZB z9AS2Ro=ZMXoe%cfw*hBGegaAjM%1-e#;|;MD|khy8ak@vj!8PM07Bj#LyKd(NNi~s z^_x{jo}ODr`V-F7nzO~k3JWJ%<*DEuwTn9`zp|W;`d-Op?HLB=Kk5XEh(_w@r45+M zdkyNG`fhf+{}Jk&X9OY9_7u{|Y(aSWxe&JC0>^Cp4&>XN!5I79kj|8oxX)^u^O!8o z#>mrj$^KMyc7-VK6gz~fDSRcA)}O$`Lm$D|?Qg76(-Sa(mgHrc7Bf|yg-oc8KD9Bb zo!HTNjuEA^_}VCcFy{SfRDAVQtl^6S{c*`A_{lSnH>mHTJG=AQhOxzbV9sXfnd4}!%93?Qz(e9g$r+)n?fUkhB_W{9|)??9Vm4VaN%0l0m% zANmQ5gpzZ|Y3liJQZ!2ro4>4>Ip)#Hl@Q<12**)s(Q9w6^T(SnkU8*S7hgChzZ4wx@nN?gN}vpDWAXEH{gA22A?)>wTab9`9W-6T6hFRS zownI+3Pd|5@FDk}@Bv>sU=!oHOj*|uoi(qRHj@$OSG&icPY(i1pxof`Zcz_`4;&Z3F8dcETf_b9kT7{Cgg^FIsabhH*~5i z4|#Unhl)VgQbr$MFyUhL@P>*Y;%eIW#%I14vGQRW8EmMG=ppGkKzJ5`cdJWP_Bn9V-K7_>6>yp zfS^MGc;2o}gocC@_%$;C+F!Jb5x&k|mOFXA9Nkl}kuvlU z=6<{0A|G=j^rTPu%;J|iv`;}kU;M$072WH`{!YW#J5nOJ{bFTy^TrSCAhZr!ykIYJ zsji)vw)8dg{#!er-Ymu)GfM(DJi3Uy|GJiL^*qOacez0NM|DG=9Nj>rmz`MGPG9(l zULPqhG?U>M?B#|HJ?ML%bKyE*i1rJUz!{6}#PfOiNK+8YIHl|JK7*413#}6D!~XeX zSF4m7eK!CPQtkrYW~o4V*8|)%>@aG7XFi}Z;|A2|uoF8MzL0}!75|Z{h&uzOQBPbOoT~t~0>4CB<-j zjW*j6a0OVb2gcwvm<@5$9M0iYzSnO#;x*8@kJYmbMn(vNh%&MbS znEWE6;|tJz>8B5PugB!Oe@#{WI zfc5WNVRDO(NtoUla;&UPsJby^ec(*#?!F^qf=)o&kSq`~>Ab0>N!X zYQ*v!BWTf(B=J<#oXzzdK+lDQpbOsFgI8Ks@FMFb(U~CuY)G07YcoZO_}tV3+TAdw zHJTS9-$SPp!&>^d*tu7%>nR6xuWtadP531towS7#D*p)N6*!^OUKoN`E!5ZwErdA) zTOsY!bntg37dh*o`MmM1tI)D{tyI`|Cq^V^JG)}~2CgUurNgU5k)(SHbk^QUi1U|R z%<9Q9`ixBo7OqP(3+@D=3GqQ7zM3Nqo4k;jloOn4*aBWkcBLM$8J5C^-` ztx!Y_BX|$>6MQCIguEZS0?N+%3D&Ic0XL?Wk$q*4P-k0=YXsGqvgOLiTDk{JsJ_ko z62z-{a&s5xBQ?TCNX}v|*3YLFJTk?X9Nxmb9{GW6J$(cF9lVj7BIi#@E5F5-l}$(F z@^I*vvj+G0!zkK^1`{fW)7d3tHR3rR0V};0ft9+GSvB1?)KxbT=$3anAa+a|5Zb(q z)>!)rFseEaS(>_leKTK>U~)IzYpRXiil0TBKJ~#G7wIy??;2Ul&~D;GxICS+_zYWc z{TVQ$)fsp{picB8dh%;O8?c_2Av8zn5O8p@7B&6NXI2+;z_&_mgq&s{9aLm&15eV@=`O(Hc157z)HTlitm)-QhRYp44^VS)R71P6Ak&l2Q z#yjxMN19n1`@_g9Pk%mGGnqD@yAY||jSrJ5b@l2w-N@4no;xkRWp` zIHlSYTyF9+TVzPRsKM=a7fRcDz z2TutMBSnk1QnArqn25p)>ZC*s)=XT4pCvCW`^di5UCKRh%08Aw=x4Q({u0 zh1ju8?X;-&0(i)|2@Lr)jp$8mfJvQ3=xy6`&gZKaY~vjOO;hdWx+2$6UYf1Y2Xjv@ zJ8=;te0PBTm}Z6y%Bj%r%NA48pATV2EgLw^C89h(+)dO4i*Y#*dLiujY)~h?5-iwp z1(};Gi2qgZK=p+Al2&$lh>?m1*fJEt)l$0D6$=_nWiU);k}Mf=%9jw5pH6Ci83E$- zqKOMlTkwzaGx;g1Vi4h<#)d8!M*_ut(T&94BH~eU27^qGnYK!YDnFf zl!@ebS;6AxWdR#sb$o731BtNRR8yiIie7c$@#g!G>kfBvWwaFR<9CoiFP-I-mwzQT zJekYCoY#t~SDVnOeXD^yZ6_SeX~bKeo}~^4-ewjqI*X|Ov}I@Y&nDISR{+mGUO*PT zFJV8L$Pgn?DoQv%1ZQ_{WS>1=kFVN1$Q`J0!hOu8xZHg|(fbBtY?)d$<hVx) zUhZ{x(#nr~a%w&EC?}BHy;cU*?v}=7{4dj2w`lNJWn8gsc0S0%>cf18&2>hxbt~~v z;Q^Dc@fPP2o)X~6ujGj0btZ;aBedmTQR2PNq2$N$bcF08m{IV84P8X2yv=VB$38D; z=czF^eL2Jw+c;1x`J4Hu;f$TX;fbGccV4p@yWNkcE;jtZNmY#+N6A6-qX7iz1cNlZ_IdO9!9##WqaIq4Fgh(*Rm+b9eahhMMIR1?4_VfZmF% z1+~}4mr=1ZNBPo|Z!jO#{lN2=*~G`p686OFXngF{ zJMN>o1L>}5!X=00l43sg$TT*UK6l{>|F#teHG}#nsh=j?{rEC=hFb>_#Ghw(Z+XCt zZI?qbVGl$|zZgkr@+H8>k7?1b5#VyI8*oSYF6>?YIJomm8ezMvkB^-Z$mwl<#J$?T zo4oL34VB`;qNV3D$>d44jDu(gTXWSA_8J;MN^aV+(%<*+Ymboh3T-9i_LaB5#=Wb! znWzi=qN4*EP2R>TFe|AZ@g3BnpHq=_DY`^}O+VG-bRA!LcrnXfmBJsuDa4Nc@B9>} z_e{l>*VK+{tFfMiXA#c=9c=lNWWjfHIb=Y14sX)YgNTNwGm~RX*sKpTkhPvcNMzk~ zX!Z70%*>xSr>%dOJ5yak6-wElVORZ`i`tRIO8X+JV!QyY=5DZo<{`-Ty)UqP$)|x0 zpda|aS(hG{>gM-ZHtP6g(OD+&n$V;=;&g2S)34;*7%k%YivhlLl$z0 zKUX22!atJb8}5LI^3}-CZN5Ag6Gy$=84X@JAPYtqzu?r99$=bsZx|o5`+)oJWd7)~ zt^AKYHTayYC}5RO8Ct4xpPgf*MTXC60-rgVlY(g7h>UV75~|@s`!$Ag?gg8C2n?2r zLv=3-ct>3~^wZ9hNa@E+eR|WOwT(~t!uk2UWo|ZmY2_YpNtQTk za`zd(vD1p{y!!wcs=AIgsWtNt)s{hTrW}Hgw_da1{;CGGg!5>}D6A z4dNNo(-P?g(m}Tn5FrPogZZbwJh^kJC@I zS0RzK3UaqP1emiA<2w3ovDw3`IMsQ={GqE!>=*5G%+mSsP~tTWK1+xtdqxU*h$*5T zp1DoMKZydpV%^CvJ(IXv6XR6z<;m$>Hi51>?!=`Pe84-4e8~OyQV=*9!L7L4 z0VK%QA}V$!SVGuh{BzD>TC@8k9UUkIh|N2Mull$EZku+Uu`rh=a;GjP1A^Y6CiW40 zmWvwkE@m1k>^Tj+{rxIo`C1e_{aXWwY~4dV`PG6{DcF&<^m24s>nfsWtp!=P(3hbX~wD>b1W!eAZST+2AHdde$H3>My6@2hNND4o8jxUgP=D^fi(!c6ue< zzJDt`d+}O8$fbfvZCnq8wKzbt_m<+o=V+`lE|@wz!n27gLrmLd1-jWanLXfZLZ+SR zW@O@e=w1vchsV$Wnf-&Dt4|R5)pmr zfV3=lh#ZJfq;b(B1XnGD`HFgAC6@>)WpzINQWC}zO#M;wrA6S>oTb>7G#z9{&IxSob z{=%PTX;C}ckpxHEzo!Gxvb5@SSX0}{wV;D}{_5_S)A7eHc&gC+`SQB0% zrld+iC%G}im|^YYxZk;7aW}IpEcgWvG(4WpKR#m5yq_mbWXv#u_BTs|JCEGw+dgh* z4ZrsQ`11o;j6n-lH!6;X^jEM8#i9gGUUk`AJ6T{`&>7JC;V>;8K83x0_XH{^{)l3S_zsc}j8kz`*i3`4q1mpBIGZ1?<7e~pdK%iU; zbF0t^h}SxSzYOnSYOkx4+9J}xy4XS7`g=0)>}n_fYF{i`V^x4<1ywQPAD#k%n`ZpEU4M~IHwb~ z9NBzRlK3*$miRqnj7~oP1I0}5FlH%|Ov)D*)_YYE8d?%aguaqwrXR>4JRUp;uKdUY zL-*97Ax!~@(2WK;4o|rj!=9Ow&q`=crSTSuO}nMQ zx4zmy6cIDI2eb>I7z+SZf;|WEPea(yv#UueU?*AZexJLl`2oIXQh`4HFv3=tR1IeVFN|x*;vZ`f@dR~j+B9#}*GD}y^@Bsq z1DJ2`BI&g`uh1b@mYw18p0ZJPgjOdk20atY>2*dY*l9c5kTS;r>?ffFU$>k`f;-cQ z9by@rmi|j>?VBY$y4MH@&9DLZkOR0PDg|GeB1`G#_ma*D8g!lfIKsq+Vz;)&GRsU( z;jEP`zh&lpVyNXCbxKE(-{+OjzTCFrn>G0-vgyRWd}S(S)n{~5$XZr19D>a*oIz^{2d2W(8|c-aLmvrNrLxKl z(2sr@K!mP8ck)y<))1~o_bHE&m#=N0j;J;xTi;A0+|*F;y+@-tIRIlXl6Mj55HQ= zuq8t_&}I1@q^%D_KG-RX%*4+iFT9_F7v825tDE%D=JCFwP!B}w0GUB;(7clC2pGn{Soi*9lN1LXHLCT{)$u$w_^w!-x z7~Hj(eYmn4yHV0dJc+ahlUBX-J#sSlq2nZ-*6?xQTST!FsxuVMow*p zfJ3LI6K&}p$k>)xX2<=_^!lt~*v)n!l=7p2$xw>qWwtefg=9S$xHk{Un|}>`r!te0 zbIByw(kL<{doi%EbT4Hz9zu1m0numP!;pNhB$YQO6Z6eMu#1;G(A?Uec!TD0*m-L$ zcv|8KI$CCF^ivrUrpZO<{Wi_W*+t*ux*Qs;4dEzMkc}f-W z;M@niPu`bXVcUfz{Yry`G;wl&j0PIA;Tn~%_XAtHseub?sRGBVU(%s+Ye?rnbJly; zMt0tdUL8#oG9Z=~^ z3(Q|X0Z!Aihg-=AMhw`_fBO=|y&sF=lz!zPlc0CtrJuL)ptlL&sSlc5#4{ykQ0gw2 zJ5-7)ndtH(>DvMH%H|?a(nP7CX0dWPRQ+K&Jn7H={7KKCCesBJ%Q#s+Q0)I!pN&zseBf^iC5?=gGNrBA%0%F z11?=X0tekY#^hc63{A^8$ZwaeVpmkBqK6JX#b!7jW2Zn0)FnlX3oof;R+K;GBnp%n z9~K1))S57xv;?p#qm0;)?!%^keL}0+MNw-da)|Q6CU&WHA@J<;H1ghy%gAuXcV>xG zIJOIxaN#w>Fw!f*dZzA0_bi(P?h)O_sul8tQtT6U z&JI!h%Ix3B<$gy*WmN*955(c~SJ+{uSReo7TQxa-MIhe)>=u7B{1eL~ zub|(02Vh)Nl)q^eh22?_!cOl(frJ>A^NBbP)0so;%dRnYNX#7=wOK~i^qI2G7W$;~ z@{^cX!&Q{aI>hDqeZ*zAWzaJ^5iq)^345|C9^RIC9QocvqfIaz+u>UP9{F;6_{MBkQ?@<&&_y7J%#trSpvD#q#_~ux0 zaAZ3?sBw+*kGRa9?kxcf*ZT0zwQE_u+RyCdE*<95#yjN7Noxsj=nF%k)%fG{M;ZO+ zTlstbVK~(GmUS>pL3b`vqld~h(7e9=oQ~T|u-r)!G4*C>@lSh61)B;)v-td7nCp;u07|L@~5ymd^QNcj>PDtCcfs*C@Hhjif%qOM7%zHhSNRV%YMqy z!?asl$ltp(sXIH4kZ7+o(0xb&y4&%VKR0(Z(r>PT4zJ^&MU1+#Z^>}j`GGD!53tzhpYN9y35SqynD0^7V~3i>NUpY~qb&CT_4fh}8Y z+4R(4rhiWX8XUqS#nZ&V+SO)Qk?T1qcWWfoZ-kO-wi|=G$U#2gz*$J+Bm%G7APIGZ zL{sih&54VP_R_80PuP+Sd)TA{15Sbq>6K<*IR^~@_BSZNIt2Sjr##a|t^A$wuRrz) zykF=uqPO0mz29!&!Xu*KAVJpAD&A(&rBBwL$c94sy2_dtue_`MiwKCwS42Dy(f!(WP3WY{g<( zGKo!u4kvto&u3$J-l`J9N+k=uC?iEGb*x8KD*XAM&wa@H1Xb*QMhcV@zKr{lqs|@N ztw4!MW}yo>g~|eKo~#gh?#UY1$j6Ys zx-6RhqJD{W0rR=<<K&F_D~{Sr979Kw;>*u&JC z$>;ng2#;|))iFx9cjba@F!*gsuN%h+ik zZFRzUU!AMqf0%mK=;=1-{Qk*6_knx3@KksDchEClQFl7ACT}Ml&QHcZrpfXc9134| zNam!;I86UzHe+(uL4c`R$%Q$s;P%F;V5ej3n0fc4@gLV0Anz?%=Hb!l_zssIB=uY+ zzDC2J-dgR!YX5l7N52;aJAUG@cvS)um~|L6Dp<^08_r_c!lFYAt zfhqiKgJsK1kuIenut|MAn!j%u@apU^oxcAri0uwXt1c~}@4sV#UH&`Bw6ou!;=seq zk@$4}+mF|Tp{X#la!eKqKeL{cjKUb%uNMJB@ksXR>>9}Ai4eNu`3hcQAe|TeumkgJ zzQil!?I%upXb}-VK+Gz+hP8Fjr~AtgX2+gZ>S5#!_5^znzc45U>_61TFY~`kZ9iB` zET314jO-ZXx^F(kQnE@Zkw+fnoTw>yb=zv<{ZC_h->D)%LZgHDa`6MH@U;k+X+Ff> zwl{>-uU_H?8Dq>*gn&I9;@NP&*EmvO0eXLaNsmZhhj+CZ16i4lxQd(<*?>8seS8lA=lsGD_@d`rxXu_vwexo-pTEnC>keSas=_xw%+4(oqS^e$T;Y^oWXw^bPQfvi)Kiky^E_l3~k2bl>tt;-MnuA?A zr;Gt~lio_~?x*#D=IK)CdRr(f@;VC3+8F^&3hpMQ{C-fq5^U8$q#fPEd8V{M4W5Gi9CITP z*{64z2+emq_o5Sfe87*>JG2!@ky2HX zS`GRaeh1V&mSF10Z?gAs4JczL3HVX(;Ndx*p!ldZyT5TWuy0KU^0-l-n)%$F>2ZI; zydNlnT)uo{WJa%|%cB&bN%Ci@%ag(o!}=0VEprYh6k!g9Z!W^NW;6KHd*6YnZKlNS zn{~MV^?m5O8b<)!R)_kT&&ST)y}?6@>jX|;7BTXxHHh#zJhu6r;5+x@5c=b=6y$$< z6E1mpoXNmJT>a1x-w;~~Zf_qXOf5Shzr7OtT{{K?zqCzs;J&omNSRI{K9rFwkb zSUq-YTPL(zErO^Xn~v7QVzh^KBimHd4?EW^Ldsw6frTX+**O*ap%yz995+hkR}@}@ zb9}n-4#R#xZ9c?Lo^=EF*mai{xyfRxcY8Ry{GV8G&;bBr9hve{HI#_G3$!KJ3B1Kg zz$*qo?tE-Aeoto(+U5hmq5CsYnPmu*@YNUtewBdF_<7ul&o8k@u@8Z^&kB6i>rpT* zZ96>~GsYIkix8W)PK6tXzH`yfj+0D-F&CVbidA}yp(@R%smV|xF~epFI4AcN<<~4l z-TvjqO1!J1=Q@_aCrizUJ`YtOv}7jI;vb3GxFlogo6^8_Mf=FmJIjFON4=rBac7Z$ z95qZYwT1f7)DPU+9826i-T{2Gm)4p8Oi+Ja5Yr~FF{_2filJ4d zQ;uO-+>VVCg=L*>{+FIx`@i-4*>w|`t?rjgXG%rF_S>bRSvyt2<%#bZZainnoNpJo ze}=9S?AlLrbEhv7bN?L4DR0xAA3dR;>}E=9k@Cwn<{#7AN(yDq#DNwoxorX(^P40* zX1UsU@gk=VqV_Ia#mRa#k@M*8S?bZTe9o8%Hoxw@tL&AFG@L6Pw{s&uG?$ddUluU7 zAEA<)EM&X&tt%DIPZEkIofKzx8pv<1re*faj*A!d|0r_akRk1@o-N#yvXGOj3goP4 zdqsRNX{)sOS_3>r52D%~4HtVT&oG@i_hiGqo)!*TCuet*9Tx0dAJ1Aev?Ko#zQfnw z_m#l6%S%q|yw2<$$M4H_j4NfZ#~zgSxOI-oj$u>YS>Kqo>ss+cKRji|em%;!S~Z?= zy8l()nE_XL)88iXV}BpZs%zoFYSX0yX977-g)Jd;Cz$MqLUW+>_43? z1RKYU;--BW>^9L>Sk*8*kj`qta_1{$izN%oE!^*&%#1$eP27*vGJSoF?o# zNFi+ZOeI{g)Q#m)nkj79(nFdzQYyMqr?IGu<|_B)<~m|+4US}(sJ}SP`zq(wpfm>k zf#zu~nn<6|S|&Z&>X6u>=RAJzjUU;O?Jf(7N5wN{*8j*)3Ysg*3+4-&kDtYVyzDsR z^RvID&psvc`YDI<|Jo(yEkX+dKn%V4vne^V+k+PZMDV#CxlbQQd z%y?UBMsS~7c?y?Ldn)7)=_j!D@Rzh7c7bJcY&$#Q8=v*8IGnpG@NZVr)Q;4Ph|{dR z&<4`&iC)}|dtb4FcMaoy*p|a}x+UUysO6&KJu1=XUX%DSH^Zc}y2lFC(UfG^%urt3 zexZ1J_q(FVBrj@C{1WEqlSi0cQ*KL^2-nD-PaGuP$Lubu-KAKX!v0$_qkmo2zDGT{ z#cyT2g|D2r&nK+m_}`n&Io#ff)p>3@sZaFvX+iV z7#C-T%BCk;a8B%R#r^CM#$QEu6-M+vg3n@$_>E5V7x*;|l6_7bB4~1$BOLMVgse}u zYkc>ax5ZJvl}hStJtnkHxhyU1zFb=Tb|__bPb}VbZ2@!KpAXnKk6TJ(8SR;BvvSe9 zgR?~;&-+URx$9ZmK75sAzAs_j8yw8)(X&3k>8P5bQT|WF&K(x>Ka@ntdby0JwoPxt z{-bk8{@2}|`Kz2~3y(Ki&AtA%5&O6NLZPC09B=*o%iMPEXV~G()(GZ$X@skVL-?Lk z8VeaUnu*3Ww`MQeT3;M?aXe3WBb@(i@(cdToC49tR;B!j%m7K~x#fa^g;~OT?khzK zdA9W8!sCqdIeTQ1cD*?*#@Mn;2AFfxsp0IzIGwPA%`4W&hw01vyM zVlDUNxsSrF0Zxpa^9qGCVxpLlJyN9ea+?YZuO$m7?g-;=sym1Obk-Br<&=SxO{727 zj$tF)*_Fwd@Nzt3*|w&lWDV91kN#AeaGB`c_E+Kv&UN9igs(h@dV3@p4z)!dYb}NG z{pwPd3*HG|Ti%md2ZZq^yxzl8ZD}Z}Jxj(v=C@7w;@$-Iy>YS9lySa{hV_rL&RZ$? z8$VwX992&dpSHXpZZPqpK$DulVA}Bc;iDQ$3Y9jZ-Ze92$9pf6WG=oa5&qtZYJGB) z#4a_0os@6SQO4y6@~=zzeVPqrkIp_P3qSLg<9B5v|Cpt%tj&`M!PFj$d2O5am347` zB0OPZ&P(L^GX3!h+K%m$`CsbiiEqTMk#4bMaP0l3i|6=mV2zCY$mzSzN_KwgAgR1f zZI1j@n6&WFUgo4)ULv(ZD*A2f72b$}4P+&`NdjG`t#|fLTdCZ++CABHLJ!{9R5J``D?K!g!4CkJ$ zRa@L6&4R&LQH$Cq;`2}M>&ERM@4~d=yNX!WH#l!s1d1mvlQ8UF2xVuBW7*A{h&Z{8 zE;HxPh>$fJH-dS72#;aMHfJ^7w@WnUMj&&`yfmqovW>*E*K5J@vJhTO^Cf&njS-?n z9S1O8e?7?!E&o$!F|QeQl+~G;)Tb^>KJK<)V_Y#mE&B<>CG>-|bN98f$L(@Bvp+>~ zw{Eo&T-xr#8xh@-mmS!FYL*iv>^goKkIC?1B@D00>f#(OvyKW8_+1WX*627=R)30E za_FOsvDn^`cSIM(&G8pAin=wD{VnUl*GwJ4$O;)PetM-h_fDOWlDgAs@m+uO71!vF z?`pkkEPKiSQ<@&IikI=!2S4pFic`y1!ne-vEEspVH?PILr|fgnFG+4CpJjY$WhqoF zGsEA)ePrJD`Xn2#ts&s5`-zi8wD?TuQE5U^S9VO#<07gtm-nRceqMCBiv4W-7}3!N z8kx53d*-KZO*jWS3=+BDX(;hnWyv1Crj=~&y(sqeCSu`|UaJJJOE>Wy_th1R>G4|n zd3$rogCS4&&6n5_!aplC5qT!CU5dP$c%f$BlTmioeoP$Gbkukzt$0lQ=JR;Mtqa zXZG&wNIi*55+>yy<#ms9rWyx2b0!RZNZswRi+}j>6y~-oA4MBhZRgY<`GTK5u_?ng z=)JgEZ!N?972fA~`I=|ft~PtqP+P&R2}xA_m^fyykag5{>ON;oVwB9S%SG{u!9|=D z-xRUAUoXbOjnUi-7bl8KbkF&1mM&l~In+Ur+1;9XK9DI3ebSgU=lv<}=<$!3PHg-& z!pXOyc7bPwi{{yhW12VQo%6cMxc_RM==PO6jM-lO7@PSiyups6M8dD3)D-82j5!Gc z*`<%clAEu?8CSC-CA+6jlL~&{ARTaf2&?PFNPa@rS<$rAsm#;2&$7BNoWN(Sk7S(P zG+(+ps-IwSc_Yb)?Wg$e33tV@OO&F5FOlqqFE>cvO+Uu|FySlv&lep2vaNZ{wedEB zV*U`Om)B+fQ>8OAsg=Gi+%I`FTRQMM>*l~0j5ZeT;x`YTGR!u& z7Q1B(V#n>;%Jfa2M1@|M$<^$RPGpeB}nQY>>x_1?Jo=YT2s*Ae7tyzZFgSy&U|6s#gkNQ;&a}V zyO%|~yZt3-ru>_q_IZ!w>719`_?;VMI}U6UYELT|dB2U3x_@&Nf4$h3_40-j|6NiD zbs*rll+Ap~e3^HE6WX=EH2n5xNpJHMQCMJGb{(;|pmWh|>dP7>E9sBkq7mPQ@W*#O zD$cS`;*3zgVRCBN%AWOcpaPEij_FRRmuh@6^d0x?c8Qu%8%|G66 zIBTbRiR{jWLjGL&-?GwsB}`#X8$oxMX%epU1L346e=#Eq9GEv-u4in@h+;h%*j8p% zm&Ka%M;60_U&7gXFiz6P?-O^_z;~iMDmiCRuXhrXhc z(*@MHnI4pV)E#cr(5Y{R6y6e=O&-LPPj{vAS-#RO_Lf}5 z)sdo^&(=r}r@vt=y;~ysb?(^ny)^e?7$;ZD)Q#)`)b;ev^o8>%XY+i7fmEw0nEcrW*+3!UL zQxi0VcfTi_cfYo+U~G_#{dChGlEi&VR+q-LxGn2-WjxsbSQas~rZ7BZFQb3<-<O&ofwUNr*A5!hp?W8BSb0q0sCP_rcK5_;7wo3aX-V)ba5(>mA+!#u*3SW00{84(h+hggGyfRUG+fFRegmwJ* zu^*X@M$BUzIs0CgXqhOfd-4(QQR^`N8cAcxa{7=sC`BpTHe;*!#H!nzHItum-Z{;Y z*wUMMUlm0hS(>L*zSCB=B6*;-pAmiss0#f&$XO_;wz@@0{dIqOv#e~aZq zhQ`%Z8q+?7`}QlFSzdC7lhLd$KV-~FX{|1wM2UCpW$T=Sn1>sT5(h`UW%!@2#oG4Z zo3x()Toz-uxpdf_6_PXe>d0>H_`-77aGg_@ew@!fJcMHrs}&S>i;(Tu>dx!I`i(PQ zbwd#|_gd!p*IjDy zv};akxPxn?6I2zS$sbq>7vLU zqNydbn9rB2lqJ0i#rFf=a+X)z92H!?wpzHb z_Dym5QZ>_luoM69#OvJNqRo^{)LXpsmJPe-K5O9w|0$fYVJz;O5pk>&4|<8i9(56O zQj(cA)LE8u-94-%PZu_Kkbu#%;2Yaw&t=xqbT8r9l^vu-iBpAPgJ=P#RRR0kn&s54 zz9Ed}ZB{Y%^Lk4**B>qX!0#docV{s}Tz83T$4c?{vF&(G<{uaQ(J77bc)&UV_x(HZ zI>$7Q%~}=5{N4jzk0sr?_J8q&d%|>I%OWZg_rp`mhmWD!)dpE zyLe|O2mIaaD|VfBjtp)26kd%L-uxqbGuU@qU*>q*_hHnRC38fd(s*k-Y1nZc7qN3b zJY=Uu)?*d_bx3FtXC)dsWTH@#ET+t+4H3ru*^G1j?geK2?h{OgDv-bZz$s>D54QBd zU;U`PKCjuXvcp`zoyVo^8UErm3QL*OJ0I2uD+i%<=WNkD?nZW;yQg^eye91NaW0(S zQWE$LPEC|~6JKxtMV2~h7w1Erza%!jT5$G!uE~y_KUFxpex$I)u5@Zp ziZ@kwX|wFu7^N`h(KT^Xdl}>RrhOS5RyL##o$_Vv?&ZPmG;SWhp2q}1lJ!7Yo7%Pc z>!?7X&qW5;ro&Py{?alI$FYFnc-ol?wCm4n^&np2Iry5WbcwxqQ16M1LG>TXCbsO$ zICymc>)gxj(s46FMJKXvO4hV5WXX1~=X<%2XC7=?R~DBzSK>Bu2gMx27TgcrCX8IX zlUkqFmEHRC?-aAtM-p-7iCD6!pRn_rIBLr#NYHBTK2OPUdJ!tL0Y5cZ6n>+D_aC+%W zzQeuyl6egS7<)!$@jETODZ4;BQ9V6_I5D=vm~{*5vp7__aOdLI+~+TCgs<$@%ckW& zXH4kyyL4dmGO6F)OzwOMoBOVpMCh&fz`c2HJ=^z49%o8<1Id7*Xuf||oOIyVNXeF* zxomaMdNLcA62_?6wyY)frwR+BMlss#ldy*MQ!=&`q;Qf>%#(hwx0INrmQq{z_T0hI zepJ1t0g@SC{u1;*xRmNxU&dG!`a*bZ_5x~*Wdl~=hWm`=uq1?`ljCI8J^Jcl8yIqoor+q|KmL_3mU5fRRF+1p9{ zM0Av&yeo+rq>u@}>6-E07oA{SsJUI%sPGWK@ODpL9o<~n@|LsMLnG%)mwr9YUKqKb z!*Y7S?!MzV`wV9uHRL%*a{g_$uzp;C=@bN7Soj z9iDX&pW42a_d2>2WBsl)Mp*Oqf(4tK%6eZalhyls8^dc=DKEd~G0ME)5ckoJmejM3 zfebfyTah+wAMf43?SdVThcNh)9y5#TFA_NN8wf8sSV2PlMPqkbA-7~K8Sa|G?1Zf+Fm?EX)kiOsY%^;J}7kc zdCW@esuS+K`b-+Fm?<@5We9qW?IPJwk}jRPt~q1Gp0<*GBNO;{uN6zrpW?IJI*;bH zspTzLaC(Ng^~@~syPNx^!a-xGQ`d$wgS|%zudi7mJ9GE4;JoN6#U0yG7&quKr?CG` z+~<}v94-vt+`cxSvHn|A)`qJ|%qNH1FtXk_GlzVRm%4Tz!9F+mwP8N za>1XBC`)^Gxq1xml?o?T8{sX+ECbySudxQ z=Tz$yN91~*8?)9?dWly@wrXAr{^p6xSjRL2xG|&U%nzL}Nwz&o7x)!svmYNBFS_c& z;K!fYBs!=|;I$wAjGxGIm-emukz;l>Uc6NEmD8nUG<%|=4?E8P6VKa1BP`rhpHuhA zF5bLz>-d{Hv|{Y;)`Ay$O3Gih&Xrm4vahi8{%y(RkHf`1xARytgWSb|n)d8EhCO`Z}xrR4!JcWDfM@5dj2lf)g_Ijt{XRE1HtI<>S`^x02Sr#74FwW`+Xyu2HE8v`S2Fc@qGpTiXN z>eaYchbVj}*|FGh%d3cG>(;GaH;~=?+r^8~7w_!fBmV2JKmYo~{aZR_%!e_rb#E6% zN3V+ZJ9o!+-n{G>bji;@l|Oxy)?wMQ{>!q@wsM*? zhdGBmi!o!(nq6x~)*gIOEVdQ*PuasgVJ!9ze-Bh zm-Ov&d*`)ltyi zX!y{J_Iu~jw1(DsTcy5x_xHO$S%2|PpBA02Q!w+kn_Ict%i~FxI2<#MO$}k2(9lVt zjUJy%eE4wp!??az7B_F6(fqf4J(=y>*KMyD@O#|MnRRBiUM^a{e*L=jy%~Mqk01YZ z{Q0zxI~FdCT6pV|Q`h3+F2!?JZt4H&)9Ft$ZJ)=ydbRRZ(~*bHCMCVZEvS57NXV2B z^9N@}-oD-U_PROi$C;ZCG0*GXc3YP&j4sU1b2_b9(P2gMt;Uw8PRUL+JU0Dun>M*^ z5|#`aaPZ*qgY(7&wdL{Z^OW_Z?pwCZ!I$K_WDgpYFz8vk+?>gi9VbWpQSY^#-5I+n z-$Hf;1 zD_7#KJYKikPN#Fx#qVwK?!bY=2bLrSG(UT`*4buvrarf~FS6hNFl@S~r`mIDLaO51 zx0~NKTR-p_JNB=!f6sk4J2iD|>bqy^U_ZYAzr$_^mRnirtQur$)L~)!!$PkV$t*3y zEQ@08Pi@`$`_{Ux+wacJeU^K2Si*Q8pB_F->uxx=V8N&bFCMv0Y|>;}6UiozcEQ23 zgLzL2gWkM(@aAUCZ!P2EF2o&N{rF7Hnw~XN2U-8F(KOJw4AqV0^R4(A8`|^8kyc0g zmo8iQ;>F?@cH@rSy?L|y%|)r3d#qY@U{ydPzk=DbrL*f#=3(EUcj~`RjxAigIArme zH+F+7eq;Fj`FiIaFHio^s#SKYPE-3wjT&`q)Z(2l?*0C|;`iX3x{t43op|-@#_cxs z>P6Hm9_@JKk3U}hacJ=9_-)%#w$*6S@xbume+(ae_i_Vo@1fp%C7I7UbrN){={3Xm z&p)64dD`NW($==Xc6piqme;SBy>1nM{d)~%qRc|p%7%jev=<9Fx4q*ea) z>&MhDiBNw2^5xQ(eQlp~?$M(~k3PXm8_k~|JO5#c^QeS`lL>S4pMB(VEx5J~#f~#( z)SO|RF4($b$J-qrG-J9yetht8(7+2*q*A3c#`an%{m)`^{l{H+tZ} zF$3RP?bw{0+%nl`Ywe=g*ekKS*FQYw?EKLA%I(+}US4gy1_h+o88%Ei?38PMT4Lgt z#3xhARw|Vx%G<>;k7msh&N55kq+hrYbm91pgXU}3Ze816Cwe%qCA-Mja|-aGiKA1qliY)Sr!cE3eNZj9`8^hOhj#9k8S zY^nYD@%+ch4o}D2y*v2suH-f06DB;GaBbP=jn>ww*6Li(x~{G-T#sEF^>y>+MVsa7 z?n}>|Yjn=-!lbeqH9Tre>(^w-+_~Jj_#u(WJ$wGvv)hOa_U_$}cVFlo7xMi1%;zHi z(@7Z%_&#KU9i(0k3YNh)% zo7uW`PV4a*1A1S&G~&|LynUP}Pxd_-G33&$sHnA3zNc?FA3f@HH0sZVn^-I{%RXe69>4p9?%Q{D-}cB6 z!b69e9_oC5<xAzYOZ)$h$%;_xbILj+Ldq%dPS*Nwrr#GCg!cWGU znR%OKdf4RNySL`v;0|~9)~Pd~PEOC(>s(w)UCv&N|2sTVszs5w*>*JrlY|a|-IEMx$*ABPs{?)hkXs1Uj%evhdaI%GPd*+BK`-jr+ zPP=hJA2x44bN%>*#h+d!h1@ppvf@;mgS;(+CfilH*FiwAeq)*{^9J{5XsZThv<^%)GNY{kZy*NnZ)`@F0k-RE(quOrvX=ehOTRx(V0g42Ini$; zAVQt_#yT}k4Rz|8gIk&D_p!(U+qN~M3jk7QU_hMK(cTIh8bo7jicpif$$mJb>Oe<( z)Ep3p%^S$BJNoSzw81V`LGg)g+yWCq{35hbR&MHl($OIy*z@A&<&kgI$|~GSWo3gs z5n9BBkJUzp*i=;4;(u!YPjnq{5kzH zD?4nS;!ZYD!NxP+%yC}JP(#jHOPV?d;F#%DroV4uH!aEc^P!HlyNMxURy31L6a$9f%OI>GzmvYik=65=v2t73q$Be5?m_Y){H0{b=h) zY`Pz9gNQBp2U}OYcG{0NeYsgb*u3@SQh&7R%ccEb!{#wK(qSX}2({J6=c6x|30oP( zrP{`lc43bkjG?}aK5ZSBXfW%?mW;8Xob}kTV}k?HWGcVErJ)aE!OsUZU` zDKeTyoBqOyfz4#h^!rUb9AZhOVG}fCIY&}I6=O+RX<#$9)hfr5vT2NTU|gI&zl#5` zSIIYGE;4dOdW*ebzE-3!SISpA{5;>%(TsKmNWB&MViWx!wHX}=kbH6=OCQ4~^bfj& z;uw*L^ei9~NPWWA&u85gHkE_(m?Laz2kZxc3&11bJwSGBV^S=PWn5fD+u(=@Dk32u zIz}7ihqURrA9m0Q2@kDo(qB3z5)_No{!obQRYXx@^nb%n7@#IFAIJg7Q36g!|Nahy0Nnsbpb5YRO0||$F;EEX0!mRn4V(;& z0>XekfD*6*_`v&MOX@yw6(|I@0xN)N05b?N08M~yfCBIb5`jFR2zU&<1t^q{1*Cul zU;{V;9)LFx2xP%uDk+Pj9PK^~+ycn)0`VUO_5$yLV&FbNVeXs*w*(6Ta^Qm0VbeWb zO#rtD9rh;EMFYdok61u-xTol10Ng@#r2N(}OKJzSd0=u_h8y^+vA&DoVL*Rl+S8c- z80k#lFm#UrH`pyPf5gB$oEHQ6z*0a5L;?PQ4?qq_a9hBdq=8qcBMJ41!KZ*aKpJoh zwuWFEKmiN^d;k}~1MmXK5erTN_M&_k_#I&&7B~)&BL((F#`8@^P8(`Tk##r|91m;- z@_}=}4WJbG2#ALv4xlaI26zMhKnySem=A=YTz_CS&UXQYz%8H*VES27osm})+yqbn z9)KfkL%_p<3BU|s5s(Gs0!M+XKq>GM5Mmr{ps5dT3uu58q%8qH@ZNZhKOyU#Ura(= zSR6Kf!-Fz)_q!!9Iyyod5Jer(TY_S>0rA@SfWQbX^-6Dv4HzA##YFk2PvJB^8dK)! zcfEceHtM229Ud2z5E+O~;3y`8c#My(NI&{sJ}Nwddi+nySpJ3H0$-uT*DZZ2O8?Mv zPJa%w-tQYjIc-b?*@W$~J{2BE_GUBOB6$YCV`8vF+iiVrbl`A2KU36weTwt}*~Bdr zK|cI$i7Ag=vFER7ASbV2h54udvKFDOJ(JEQ1Z< z{ZoCqNx1}lr{x$d2stDnDkzS6PSSpeP&+aq09*DkjAL2hiEB)MZ!+~juONLJ5gr;A z|2^YnMNR0yaO$)^h0}k6!P67*6%>HmI(0~Yt|dEs;>k}RgElgH6h`ukJ{2EbF<0l1 zw3lB%EQXPk-e5?hH!51b*kIB3S-gHWZ2DfNVouIASnw(^M8B!&WsX~L*LyLJGJ*K;M46Y8nzOOdkGaxPuyQ>C7Qr8T&F4}nS*yvFP zTk&^WKU`%*S!A$uN+jVB1Fi~vT^`yX5)wrnHKaT07ZXxFb)uq#-oM^NJu=w(hKEKG z17bgKuyjH{k^sVkwXt!&)J21}i#DoHKvZyaBt^CN=-=MEYei3PWEcVt(#FO4hNHyj zzPOg~YM;7Da!A;{0*7PU-LBZZGB#45|3-%foh>KjOP#JdIh z{T0cMkyK56x?@CioVKstK(*FeNSLH#cu05<7R|V>QHE>>eQsw&Vv<{tN&TkJ^+48chX->R7(yfg-QCsk4j3%`KKD6=gW1<%5efAQ&6xP>VP|5pnG!BBF!vYLlF! zQ2zkzT1qV;DKyxST1--%(e=~>PT$et@j+pvh2)kdGx{^64q{G{JEb8N$Iy>9nIY5! z{dwo`*tmGoHRypEdP`4So(4lHs|Oa2@D5|*wLa0lnB*P90%EE6oQhMQ=Jy&AcfLjLB@t`WROnw3J;78h#iB!DfGf-)5a8DsUI{=BifJTI!1VL zcvL|{a7TE<#*qDB@niSFSQ|~KBiuBNI@WUfMTP07WpJm&AT4ec(NX9g5-_DDGybR9 zwg257Dw*S>jg1VC!W1wzk)kHCy2cq3(XpK|JFpL|H#!%?MAc__gvXJAGW4RcsU30O zi=&2_%=o@uxaWJKA=FsZ=AjKt2*o|FqL%KR`t__gGe&l}T7i_p) zU? z_e)$*KosH$CffMuga|6YaE9k5jGHzQo3hvVw`#PpJE4mW2*>I~p-ezfY`kB1bf6!3 z+`~I7`cXF-gAk*LCeJR~s8JLZNcoKpA@8|R<0%8{sF0Wh^g##}hub%KO4L-$4!p~+ zq%eQN<8f_8QqKRJ`)R56q({O?zai6)yqi;(GQM$xtHm!W0G&OWJlMf2<{PQSa4V?D zLOc~~A6_^9P$C*H7{cTIj8D;S)b}T7KVuGQul~8fn#8INN{H81WEn(_5DWSS7d7cm zbENbqR6tC4o5;8}qr;=xAiqtRHXx==guIQsjd8YD%Eu7lMb>|p2o8@nEl{ZjG80U* zD@PEEm9|omN;M?Jhew3Rk1?&JQi&kLa{nJC$n1{OKQWjVsvL{Sh?o|u{Dkm!*F{pG_6&SwlS}ti$^+gst##gOC3GO`R2Cyg95gq$w{j8x09I zrgcV6H*$`Vj~e-wkv|*RsvoJBN!jX|5^D_1_A)SkfS&nO1Ywj+GT1e#dS+00hP2yJ z15-r?X5J#Kp{P4oXMqcLvFRLQ2j_vk53=c_;2dxfm@Z(`#b9b5o4y6k z1V03q9bnTh!2Zy^1IHj;;qNojIfwA!`2aJz2wY*Okxqr*iuC_K-iC4ce|o&r2I8~d z<7_$utSMyE8^8tNT(Ip)Hk}WqPO<4ik_KM}XM#(>{^u~R;1Znv8d9(LZ(@lq)bvrw_q=DrVD};GCO?3+#O#ae-s*A|Apem~UYG z4YA*1)AnF1*j3=N8*JJGoQiyJu;vk) z_91-dpZG}JBpwoX4*XQi%OOOMa-<(ikRL{L57~4Kv7`P(!YH2%E|qb$;Y zFn;-J$P);VHXfwx2555uW+gq+u>7d60aIoD8EA`vb|!ia%2lPeFzR(+0^+|MTJZ`q z8jsd2q9M>2xw3!qfj{xD0}~LvEwmnhol#G08i3SOSznd^FlZA2d!wEWnFgpzUzPt1 zXg2`(Q2l%V>wcoI@UIUXfs$AYp}hs5?(gmYnZClmsh(PCMwhZIS$xRcBOr5+psM+k25lCgGSO>(qOXWwhkOFk)}zo~ z2Gk~cl2?`g3cYFny@OVqiFFiuGUfz0uTo#pejV}&h<{sXJpp`R^1c5xu>Y5T9r6i? zJ_6cgV7Q5Yl2?_!!oO+!8=x%!Mws~jnZBy_KZLd%z{@jz{A~Ev{15-6egYDI{Z&{$ z0lek;7ABI{wMf zrUNUWCw;FU|7!TpgZ2!t(o|m!|1Y2|2Qp3LM-&L*U-Q4J_M2tl*%DawgP!@Hdeio+ zp!Eh;o5o)a|1r=e18aWJ|GNJyXmf!q==o?fSvN@V`1ecgFM_rNSZk`+{kPt<{hy(w z*JA!dPwdt8Zwsvlu-;T(4gbN=#seEn;0b(Z4t1^H2!M%FN2o7 z&WzstgZ|h3TSKb?vY{ty519ki8GnCh6M-$J`fBul2DG`rR#Sa7+FuN98L;gK{jay* zY`q!X8sM7ft^1_J^Uz2+x+a{sLS{5%WVEI??Y*ZmJYiHCsD z8E8uY+NdWsE8th-{|v3!1~a;riC*&)eO2)*q4fsLO!T_{p*M{`9@=D}woy;!pw&(Ubdc<^C^*_61PaM6dfFdeivnjhH_`Q=^_-KN^6nW54qJ zx#lPO%Fj$_0{lS1}(K2@l*fYKOv`> zK;_rJRn1=uq6ONJ(il84ZdSmr>OG+y0>mFwaC!^8PD+Q~v{?jRDf2*FZ<= zB>Z1`9r6iC*)(XgfrTb|lJ{SFQ~yQKmI51~Cu;{8|LV+N{uVrc0vk>BR)#kG%Jr*( zb_lQudJjPU%^;XqrKePjYtRpAT&j@JA(mRsM;-a{J4m73Y}IyP($~pY#dgs{B{gep_h0fZZl~9rRYfue3h~ z+GHTlL{GF;`LC+|Swsu$sid#Ue^u=-hV~ucP(ZPCM!y;`S-+}^zw+~w#dfT}fTM|C z_doRdPDV$Qz8(N=Jm6%a*T7y?`>X2z3~2KJrHNh#y%kVZ{FSf25@_E6&L(=It*ZT1 z^*_A>&rX0#C4E)#SEcua)*o=Kq^~Oes>V+TZ5q%3dZN)7LE^9c{6W^Y%Hx*@Z4uDW zs3&8h0e)3q4lTXYjBaGq6W!1BHpr{&UkR-jU}X}&4(0yKzv=vmfp!|u*d+ey=yRYg z1e%z{|1*6>{HFfPpcUuh{&~ja{VU_=SC#L-r2onDuc=-Mtq-sP`id;_DqMqNzoOSc zn+a?*>WPo)=!>8&1vW!Zv}E2^M^FEO=T{&bdL5M2)enF+9@qjs>6hy2Goj4~wnDFg ze=>io6MreRpMkyTZlcxe@gIq!a{rU@ul)MOdKX^50Q*s#%vt@st%g1V+G)T6qrSTS zbD=#095m|59IEKYUx~jQTJdf?gFsJw>;0n<|J8ndArvHK?V2tm|7!RzhnBy`jBXD-@vZld|NhIr4&?|)+1Ai{5SX^V z8u|!mlYvgA?XQMD8`=V(vuXRQp)ZA&zt@b8Eiifi6Z-#}|D^2%C`Kuv9RS3c>d|>t z$gAr5tNi>i4cZOBD5IX#Nhe;q<3 zAhG&Gn+Pm4)f@d+rLWxnOlb3gMbKBYyMn9ISAKpdg_fOfMlUwiSHr(8v|d0u^crKE zs^dQq+B9H^slFQi3!p6lmO`(Ce=_dX@h{$w`!BG}R9_AM1E7roCQ%fN__iYc+2jt2 zFe=tRV#7gfOeRJh{|E@BL7NRsHql$bjw=48C*_%lt>Pf*B4|l^$~S}mOp+jKQhycx zxm=QgB1U>))K4|hTOnIVid51QnO+Yj2T8LJ;Js^rhxm=v>c>DICiF~z6#Rzu-x{Zt z=btUKDqxX`o^(`&-t_)am3{!U5x^4YiAJxhhJF^bnZQz`p0uGl{tKWj0+t!|==o~t z%b;Z+#4|v_KmA8$u?E#twfx>;f~ozfrFrziRkz4Xr2O`-A@1{l`F?3Jigsj2*c~tJDAa(B1-u{-FPL z|NKLE{|N9m>Z{xTUeJaC0YB(}-G3^y8-U@^leX&@lWO$;8E78@BYx2Tx_|y*v>%9o zo=m>#`uBo142b+e|Lgu!q0I)Opx2=N)$RYw(3SzwKj?qWKip9kNAUa%e51(Ia`g`t zv;g&IK{ajvFQlR_BVDV&)+$WlP|38iAdmaA=@#HqIP3HmmfX1%2{_krCfXSK= z1I9gung%vpqXti#anY9L)uAt;P&xP-DZHl+eFMw~-vZO%J75d&1+Wzu+ow}D;Ok&p z@J+B1d>gC*FTq6c1fN9O#}|JegY*#aX{3X}XTW5xq%PyrB|rf{;xYw$usLlNU``JJ zQh`E%3N)vcKny@>&1n_Nyc>%1AlL!VLFRNG>_uVb^bl~dmpN^X{4$*ThnUkZfXrdY z_cN!%?2)GcLe1$kU<1w>hSCV8~o8=|7deM z9Vh~FbkN z8(69`uxx;V>39RToMqrv83s1XHn3H`fg7JOaFbgGZdztwYwEnd{@*MN+|Jg(%{&a; z+{eH+!3J&SckbsI2Ch`a3;Q+LO2KCStMM5xktE&qWlS$;O{L7m*MxW z2xA5&6ULR2O4y1)WfHb!P#Xwq7!>(#0Oie~a!A@A-=!fO!=MTX>ljoaVdH@*O%)+c z7NT2VazA_s=73*-x!`wTavgpKlex~mP=_Wj>BV3n*bFQJ*9S|$Helkw9&80xfg6K8 zz)is3;AY?k547@q}GG2oWqB(Mv38rU720oH(X!0o|#;11wIa7S<%*aOVJSckkO zrYyjn!Cqib@BlDKf9UW(xrWL20IZAa;5!@wx(Lu`;=h7I0ZpI!Cr#{$C|8kR!Kp<* zmZ`9lx=EjsL-$2Mf4+%6yJgT5d&PoZf;=s1$e}^rEZEbHd1O5QIfQg3>>h&*uPewHSLkR;NM|E2 z&!{8gPV&j2L!C!qFE-{8TjukB_Z6|1Wt!8vRaj#dU>#bB^#%xAWKNd@(-xc41?gBf zQD(q=tWT@4cA{MBQrMQE+)8sgCkw#2Cc~WeUSh7Fp9|1oB+iP#;Zs(Wf3lD+0*Fs5 z(mBQ>HN{~2Xw+E2E(T)Qwp7k-wEvEfw!LpCW0X+-CTWetoQ}VMbrbN!`82Q>;B7ot z;(UPd+#2WpIL`pnK$!9Ta}m~G<9R90iJ!6uXwzMDy0ip+a1Zq%opZ;WPJD=a2khmK zz>l#`qum3R!|xN+SBiR{n$smnhpj;Q`zUw9@Ed^@vB#)IbPiAg*t&`6GH|Lpe#_E$ z(5@od8;AkQfKAcq8?;YRgekSZk zVgKD&N5$MG_9ECP8SNEwm)LK?o@}&N3>~q*fPJ#jPUbW@3Sj>XJ3a%|9~JYN*u`zk z$!D|rqhhX-dg{YI#c0P=`F@Z%j}A6`w}-@*k8^UZnhERB@wiu$*ptAs01|IZFWh@^ zPGZaiZvaSKIpBPN#Bvl|43KpO$sdjq*xv!95BWpPX$ye(vjM9B;?E204-kLx;ADXK zO9O8Jh`(HL0YLl}f{Ovt-coQmP}z4no&mA|;#Y?@qyofmCO8Kmeha{t0phn5{0`8M zg*V~^h+kW<2S9w~puPfttP4J{g#qNAkOZCun8rZrNslq7Yk)U^b(Dlo1(4Jq{y2{@ zN!L%nykbb`0;Ytf*%Ddh0jB5(w_6dVbrCYaMvATw|@xHUKi>Q(}&jz*W3E&K*$qSo2unv3% zJPBL|2I-H_IA`k&<4MM};;^3!%}&gpJrcU)4+&kiPeR)sl+ad9WpvC539SQ6=U+vA zgq2%N*5F5&uK=-^fOSC8=pTBT3V#zo}i@ZG8dYrUG+zsCzt3djl~O3_d($b!mD%O_yv$dK0a$!wWVm zoSRnUBd<-DZ2r+U1m!eaezXO{R#3?n0h{->AIl}d7L)U%&3>yT?Fpm<*+4Q70}LVO zD6fxaJ55{V;?Hj$!P6u*wqOvAZ9DN|%P zFSf&ZiQ(Lf)P>c7JU{Ox=l+KCvCcS8W$2&Be|L^mDcq38Vo4@D$KJs{$bPOpg(nM= zPH;$Yav(46tPJVb4k0S3x~)59%ht!;Q+`0v)_#(M+!1BG*?M0Edhxi(TYQ?*gKsye6^tG20b zt7@vds{c@5Qmfp?y8Y=UclUA6b*Bp06fRGyzHJNJ{j z^2VjHYj4*{uG?L&xc=>0Q#DYvS2YmvB&l`kWc4)lEcHC~5p`#`B*eAIZL?c}+hw<6 zw_9!{ZtvY{yN`BHcRx*HEMe<^XIf{QX&Wk^AwMDaRU|65Dh?}ND|mJ`c7yGr?K14P zqsNZhU9-ccoAzDo6YV`69ystE+cGrhc*rxhprC29ReNV(8mJD#*R*o z8nnR2af#!0%*P_fTaKlUJg25kU7f}|9dbJ9^u+12lbLdia*6UFT60=?L3vGiTlqlw zR9UY4tfZXT&U|OFGwtl_+``4vrLW6zm$NPxF^lhD4nM;Te(&sVKvYl`bE*ZHpLt}9%#TsOJqxbAX2>w3xc zy6aunhpwgAbEC}lool)4XIDzaR`FG06|FK;S*Yr(tW?%N^p!^Cq4HFDsk~J_ssXAY zDt}e5Dohojic!U@5>-j6hpK1Tf#bdEvx=$atEFl)wWZoh-AvtDtxzk~ZfXy8H}rIW z^$>NSI!qmKE#_>T>m0 zHQP<-M!VHb7pL-1@suc7Lp2dpVR3eAKetsIb9Wa1(9l;cx&erMqLe<8;TJjvS|} zPGY64a)xrEGuNe-OSa2Zmu8qdvs^j2HUd;zRYj_{>K^Lp>H>9{`XpKJZ4GhXu=SUp zMUVAU3|5R%j8jZfOjXQQEKp=B)+w?TIf`6G9#+L*T-}?U{&0HfL@Ujd7Rvg{W=cP- zb@g4xxvqCL$K08#+Nhd?Rj#?)67-YI-P8S^JEh@}w@)dCZB5&@wxhAW?XxYky=eQy zwwpXs-b<0LxTE+>LEBBodb`=K(C)h3Gdn4+OE>%8_QCdB?fDK}FivkBS~~_}^;qh( z!)c$>TIZW+p}DJ{>s-}Q)i+fQx5jRA%%I+G0d6C)ip_Id<+k1JklO{fdv0&s816OP z8@oHYk8rT4r?5a zJ4E5C-|Q%L%5?hbWT70ToT+T=9FNuMzH==X8yB@pAD8Lq>3c36T{pN+R#9pT+;@hl z&vU#y*Xd=~Y#^&fgkfCM7F1PDk8GQH0{ zGy&;VdKCdBYCxJaLAnH_2}ti##E_w#<q$a3+R8y;^Ez%BZ zrS(^IRd@8tdJVm`{-*x6-c|3df2a@BN9)t|dHP~~rT&G!Mc<|G*N^I_^@~KLXm+TO z@v&5zA-<`i?S zxzXHb9yWh8|A@RXR$i;16>G)u*6~(q>=kTG7s!Rx+EBr*@jTt#Vcmc7KYsg($w*PU{pS51B;NzRo~ryt9D!-s~K7jyXR# zncQf%m|Kk#+STjpjqt|vj5jzBIaz^XVL4ngoZ_#+*bJej{75TY6n+-&OR;h_^6EQs z0cE}#qsdxFZK2j#AFhXue#Y0vZ)OJ0-*R&NV-V0Q?1f2o_}HFjueINF#}aodhi8QE z_`i2{h5+}3g*HNW;XC0Hzde_@TRaNxNiSVhZYe3sLvmj>HK&?i?WW$>D(H3eiTVOo z`Z2jJWTZDT8|97fjC$r&^B1ckIp)6o%uYvciFWciMajI&oX2i%*1wTAl*oC8FVa=v z{?`iE19>$Kw+y!pcVM3r!inMT;GTZrf&O!?N{wmL#TwGv(udMyqRn@p!(8Br3UXVy zk1|oYqoh@Jc4@N_ZFb!*&_6*J#%IfYZV)!fgv}%fReEA4|;= z{>UB+#rslWd5FA{te;EKl)mKpV@gduoB63(&aPvp_haGV3?Uy{Uy!=U>6DC`qn9(A zu)8O%CssbYJehZdJ>CA=zC~V*B9A&wUT*eHudn|e7c=-0Qs|=as?<Js&dnxGBRJiU?rncl!mXVtdevTj)eK&ra?o;%8|=?(Ng^%jz6&UlafXGzHr zs?Lx6f+2QepIqsr)DWEfM4q4=S8gl!m3-=BHG`H%bF~^;UoEUx)lY$!?m3U0#{8!J zUR=0&_!du=F~}Kxh0DSVAzth!o)&)<+e;&*1=3UMj96u@QV0y$U7KaRFyFImd!l`u zeO1W*Go8HdTg38oUN`To_uPvQCxwsr?;4fSm&Zc7&|3IN_)-`z?i2G#Z%Us^`=tj` zR;7Y6QaPx!QX6V-YoqkZWVfc~ezTkPl3mDt)oy3MWiPY81g(^H!p>7CxBIeNjk`OS z)4Iux_g?cldi}lc$sIy9UGmKT1Dp}O4YFzOC z^NhpBTjnOyv%UaLy#iXAX^(Uw+!jRLLDVT3nU~D$DD?wP)4Oo9dx6{2f-Q?#30698 zOtQU;H;?oWK!uFK`B^76Ra>fU)edTBVsWB6K+9{rVQsLwlI=bMN9WM6?344T0Vso*bxJZ5`7gS=EIHi;luLz)P1AJXU=}IlIm?~C}4jjm5@tW0jE%LW(oXa_e(g&8#MN zZ@V7|cnG&Ki9OqEAFvOzbEoWc_C>p{^SX1zjr4MPXL;u5#C&*Jo|!sT$Sgz(kVisZ zp`Z{e#0jN@ctH?42%Z1K+l&<^3R8r=q9j$5w#yMpALW9o@ub7G1iiG;$MDPxRs?5x zgq@N4Zm!eTUE)S?a{KsqcWlPs?$#B0fKQ_&MM?wid?>e7HY)?vb=tSu4_Xnu9$9=J zwZSH{sHKA3vpb(U7n}?3YhG*cN`Y{-u+Js?=jmmkmM}=zA*>cFNn!bxZ19cA6lFX2 zKbqWlkn=N0e}&wB#&~4pHOrYb%}>l_0Gy?43leV$No_xaafJ zJ|@d1yvBR3W%n)!_l5LgHEN{q#Ef9o4j{gM@(fT(8>JsuNK(I6J8Pr01=^RIt-r&0 zJ)}R>-y{p2Fs>UJ&BD~bA*+TpncEk^`8#Fbv16&lo0A8V9hC}UggeX4Tjggb_Ngue)XO0wWQKs5!F>-hZDwf zbCsD)jk(#}X7;d_S@*gBtDMzt1CJ{AV(Pk-6>K5D)SdmF#o7E$OVP^cmGmC^H~JA> zHQqEPfuPEpBg{iosA;U1tQVGF3ET#8JRt8q_xLziICD5M92JfU=M5JO$A;s=rNZ%H zA*^uYoN$Hk|CSqvgh%*yE+zHO6&K0~w}lkpf$&&(E`-GNVrDT?>_I#qBW|J2sRK?g zBiqVUWfRyYvzl8itYB3<0bD+Vi`VIZIp7NJ$9!U+JisEC9IHMHxxL_!TVK_zw zqYBJMEvoZIMpL6DZ(7&vWPWJQVAW2TKbcvq3RXL768ZNu+)E^tY9%VrUT#Nkv;WK? zv=RS@@K9JJ?i9ySKOC37k&nsOsJ_~hcjMK%#MBy~i%4+kCF7>?fEqcgnak{I%^{B$ zqrM#BzU@W%w}5<;DY#Gf#0cpPslPN+*$aAWtWHqxsSmZRWWJkvM`Nc^)7)VeAVNGN zi}kd#Io&`c)!mmoi)x@}_-5GGa4PWYI&#|QiX~wu4k-<_p4tR$v9?`Xre`G1+%uY) zznULdQSXa+q)H%{buTl1ESA!HKcVX_ckYcHKro!P4zI)9Kx+gGRFqDYnQp#JU|U` z9A@mCd693M-Z0x(9j$TJWU|v9+j1MZO^FO`-43t^32q|%L2q|Cj6t%y0nT8Xy9?If zfO{C;;FNm~=HRMZkr+FRs_xD32mU*?%@p!AuhK$ua?wnon%G;s2)~#~E+N};Gr1Ra z@{h8kysuQ$+Gx|Xt6;F^)J!u$`9H!!wIbiFFm@QRW(%Hus(H=KX>BAPMBC-;sjzp= zsb^0)N5i4S)W6e1=q`RHo}p6CDJ_yVOZTOWaxu9g`FOqDT)C_qQxmnjS`-<*hdx7} zV65g;PBXvay*pAN#DX%4I#r#@Zdcy$Yj}{~+|Q{`^MH=~fz*E_Uu6nneq~`W==CZ$ zC=-0b>*5&cbMWg&@*MfRd`hXW_Eo2K*XG7iqoDb%c^#%K8`$_&tCRJR ztTNV_=V?K;3gY7y;j}QDm@!e>CB2aH%A(v_9w_HweG2JKs3x!LIgHIz zx5Yt5A6eg6KUkHVh0b-SmOI-G%}%`oL%ECPz%~7)l5(707N+ru^)B!B8mrZxy*mkN z97_%MGBtN-RVJUx4%HP3gA`jx4U}ZHi=Z<(8{hEyQ6oo}6M&TH;MSgC_vC?z#MW)xlmi;d;C9u_)_eMC+DK>bvm3*I`R z-q9-SP4zbVQsUGeaMrK-2AE0N+-YC2pW5@B?$jW@Q^>D5%EC+hEYugf$)6HupDS63 z)_qkO+?>ux;9o5<@0wk#F|e1Bc3GQ&W!{^HRPNf zljD?@$|&Wka#np^+oS8oB=c+QE|pbP;@WsH+zWdK@hb##SlWBT`#gNi$8WKjgZia} z(157@Oo$Z+QUNrTYiPZ-HRR=M+9NHq9#58f%NS{tf~|m`pu!k$Th17#G|}ZLziqa+ z&N~L$T?~>2$qJc+JC;n19U+Qh6FA1buykKibykuWDo2$oN+dBaQA^VHYpr1$iW%*U z>}GM!LMJn9y-9U(kqT*s)0@cjs`m+X+X>%z3L2S+(ocVO(EAUaLd73=Zk5YE3|3M(W0!mHg zJ0+yH;Cx1Fn$|&EuASA=kTv6}U$+vqs#v|P8CH65@dEoBb|jtCi46L^8%sSk92Pv( zHg!+33zdX!@NXr=y5ewg5m>Lh)Jhs6T?RdTNp(4y?3@ekI}ME27urQwmjZezeXu?j z1aVt`ZY=QeZDQsCQ$JI}>c{Fr^$T@7S>jvu3`}Zi?KP^t(b^o?)N9)N`nRm!ZM}jq z5L7?II1O_q!#DK=f$bt*WrpdTZ6y<98d6g|1WRXgYQsTya|SyPoXxE2;PCfUAwG`J z9O})VuE(=~%Wa7fJED#p7hje#%aL-F977B~ARm^G%ctb>N=2oC(iFtkS?NaAF&NF{ zOXUPgL>iQ&8u|p7vOW51u=S(3U)POX=5X+GKfAp%4=%ANXK$kSx%UGYjz2gy^<8ra z9jWOuixt3>E5+X=m0f*6UGTc{4tVPh?93)LqxKhH`6?mb~+{NyCcRP9R7xyQBeP^eh`SirUanz5U(8|{H zcDJZ{hbhaI{mMrJaNDa0<;99(f;d&YB;FHWBd#BpewCuh3=s%zn<4D zXvTuOOPTSeU@E3zI-)zxLYKY5le7+7m5}KGgc$x?^=hqk793;be8=z)y?a@&Ow#fW1f;ZV^TE+m^sDv{62Q#h3@uJf}QSqSQ*-X8o?- zn!0q8k=ZOk9N2F@F{fFB>^an))j72Z)PeJy#YEf^xC1E-SF2VC3QX4 zh+m1_sYm)r1G#l0q$JSRHo2J6PU}h)JdS&_8Z0Us^^L7YCNm#A>`^m^Rf#;Tqu@=n zmr%h;Xg2RSJDfdED}Hm9Al8P2+;HnHg#FSjseo+CYv72=!Xo!jTk_25%>w3Y)Jjvh zb+yRqQ?2#Z5%6tmdyHMv84u!W8(xQoktN{2&I&&XX~Y=uWw8d@Xree+oFpC;ZK)%w zz(wVSvRA#Yey(pcc3I!S=hlaN<^5u_1Um32;X6In(%~MHypWJ3l$ZZV6E;Z^Mhr!IkcCw0_brsqbSOniSqHPR#U65HPKpWZ=iy_heF$zl^jkCngDMzr-QQ6lRN=f3j<{;!y; zyA9oD?%QDQp6 t-H@%3;WOrWI8px+-JuVv+%vTP^i5ylIps-)CmP_DCl^ebVz=m z+%ZY1q_$SyLoHZ~mi<`GjSlk$IWYo0d^~E(HmbftW>=Vix8RBk1=a8z{0RGq`1fEG z^WjT~hb^uPOYsrWZK^ZhS&JTW&^hbGp`+Gu-{k4~@oZC2OE-ZokGfajU7w;I#h{DY z;MfMZ1`@mh-UM%ox0I*9K-G{bTm)93G>n1=xBezN{h08C@B)~;?O>;y;k$m^8JHz> zn;&Uly$T8Cg{p9rxQ+N%6Y) zNX#UaM87oQ!st#VXsU2<=AaO9l*epS<{olF1)O@#4_)4gPM%$Bf z9w`@;%Ym`Jl26D3l&_TYN^#Xt8^TWfpynj9bRe26Bd52bVqBwVGYXT}-~NlHe~*f> zlvUoUW!1BO1!L|GU-8#{cIvadEldzrgUIg+ablv}9p^zmYONvi2-a+@JQ1yNx;z_X zY=eyxmGR0P@bP{0j`~Ezhw5(a3T~4QdRb$LF%6~oEA*E~hU!?($IdzDlC#d;=ss{Q zFN~h{skh$S%HL0Aoi_Z7&*fQGWeIBJ+@dDdk-AG)rCH#l)ACjjrKUDkM^g9Hfk(Wl zwMW}k$vyk1CS`MpDd4vFluVJy7VO68N}FNr-*YZH-@3)9u0Ds!`@xF{w+{~@H}iM4 zrT(2iv#WbS*iqsKXyGlS$6$&WB_CXHW7Wn_ksbt5lbU-aoYGU6n~`9_E!IqXm=o_h z+=wNhqI>R9?=F038~#R8cxHH$&*L1<5}MARDQ#t6eTe1L^j^jsV>9TywAsjmEjJl-b0~_S@`ZG zzAK?De8h0_Xjfbb6{WV^m}$~B6q56xxsT8QLP}kwKX`5$D#mu@fO0`eqn3wnIReX> zh78vYMSq@l0?o4~O!22wZhPVJ?&>eW(bYEIqdq-kTtmSq4)f9%=gbi}h8Jdb%dwKI zY4Atc?T%!JY4#fXB=x{ARIhnZE1D65#&Ng406pABH_yo3GGJfc;~kE>x7;Is4oM+D z^Wz+m;i-^C%*(p&h4Ij&`qFOr;1nfV9jMNM!9T8gT3hV{tp(X}lM}oyuk+d+>#|*E()p;4J1rM~dU^=GY7E4RG2AVGgdKM`k1&6mwLkGH9%Y z^QQB@)1PQN9(I1Iv(GtBPWaKe>!fibh$B7Sn^bNiIKlhSi7OI8cwwCISNV~Ly{jR- z&Ar`A4lN>ngzMz2m|GI?L+p}D$d24Z?uw4H6-Kj?@*cZ)M7gBgWB;PnqN=D?u`GU4pSMPE}>0=C{pT-REiHbCAE_{7(O*+@-Otq1 zS%W%rw6KP#WQdtiI*Tbic>2}B$@8DJC{J4-JUUJ*#}m$?@(Y0>3xf9dn-Rq5VpQzy zI8|fFxW~{NpSg$8*=-af7Ej0;8o`e=LNnoIP{eoCFFB>6I4kN&@1Q!)mbL^HK_*tQ zGaj**lmTGukF=$5)jw&8{Ix6S?%#u0Exb~@&EL#dtk#_8{ZZN?xLO9`-#t{7!f)o|CMhfjmbnnC5MCsugGozYv2hGTbaM_$3(6 zoRTUvk$P}1bINhDCf5SVB*+!PFFlkbDwX3fA6wM(AkP@0@GsiS`n!5Qql{6*5KR*$ zdNCDO0kYO*tAu^lt_%Vx?;e4tEEp~x4%JIN=UGskiVB|#vC=9zS>7OT2JP>{@Ji_$i$ZwEymFD_I> zSz0X|ME$uf91_z=*+4#%(OixZr|Qe&@jo7suMk7iD|wU>RDu1J`DDpmFy|FvNM67z zrPrf^vs_niPZan_|AamKlE0tP$d8^-$>>7fI%YgH@|dlNQ}fI($oQu?<+&`6j5!+( zVKY@h30t=t*>A!E3?a{~vDe%C(erXpD_c0z-sc`qb5?_yF5yK>=jL!-rgly(&diQ~jMsBPJ~ zA62*^U8LjeU=A~eD!YW)#hg#XI}P*r2C8jW-sw9u!K^_Yzfrm({Ul|8`6x`Lt0lL> z;WkuGt5#NP;8;4X{-XY9_|UZVOD_1suk z$7LwJJMgC-2L0V4>!#Hrv?#5ZR#p?VN+7Fx)c;+yMC~JOlr}b~dw0OL9o8;W!>4Fz zsmh}CVtQF!KzFN&TG}4;=%24qR9HORii6$G<<&4R0AKWX%Y?n8nbP1-v{pS)KN*cA_~5=hIxcpjAY=^{xcg z&g-9#ZCL{jG9IP0E~;c7IHyv?&8*4<5bjPT<{uT>5FCEp?b){OcusFzwFA8&I%*tC(XgZxLrCTU6SshBS*_c zVP$H{L#dBX6PpHsPv(#vw}a9y;q&!TN>S>s# zOW+`>33r^<){8}5()6SYT?FUXx_<`bHLl~Gs;qt6zM5rIHze*@A z&I47Xm2=9k$nO&yzmrqsOhmdA*p?!2MBkz}Rn`V;o2l0yk}(tU2i(=;&DQ8lyG)lH znM_Wo0)w&3F7C93F+6}H-S?6ValhfNRmPFA9@XRJ@GM*;7sF5CHzI;He+8a?E!s*A z>YN#pOxnb4DueIu6l~0QIBP1xCu|D-_BUuOJ}6*6H8(Z7j18V_1eZwvm=7hbFID%=yiY-~i36N}@Q*(u~l&FKr{6pMy27^IqC zw&0w45=HLGPt`nHO}zfDRSg_810Q*^^=sgFu8)he1(okX`-CmS|1@@bQ3LpO}$A+Iz~G!Mq<2od-mxjG`0z%r!~qREvT zh4fOa6epFE;z3-BWJq(#N0;!2#>jc8)?(p74+J=VfmY2JV5~Hb8!zB+r+|O6!z7PF zS#0k72Hvd1esp&m<90ddRSWkFukh80da38H*nf0=oS;t2DK?<)y@@NX7|660u|2Qy zHY`9$s|>RpNv^9-H2Nzel$E&C0e@gRYgAAz976*RIjjES8g2v65)tTNe{imUXs}Ju zj)viGu1sw`Pm5pr2o+>qqNF_1zgeaJ?sPwg4~z)-)i1=6@(FmBD9zGd z*WN|p%%e{w+I65GVIa|L9sFThD4P^dhR4DWG?Z!D)z62^>M>M=!mOzI7 z4bNC}Z<-gH9g)f<(p4c!bMZGHhiT7Z76RSww0^WKy9rf(M>x|H&QH!1_|knShG#t^ z{1!PUBJdBa6OM^@#6$4MuYrLUD)~V=gVmknws&zs7J`=>OV@*lSD^)t=UJT5!>Fx( zB=2GFw5}5iEp$KDYFp|%^%c5FbKjrY*|0G?=@U)3Lu2y$-@6qE_@WarQW8nHH)aSj)iDp1{Bm26z*n{oS; zSL&cY^oBcHN>|Hi}cB7Z)(u!!3){>nXtW8G2N=JTE@DVtA1?ti2dM(aYBRztf zGMHE$5$G(@C=Yvt@9DXi_!k#^L#eqmo#-7$Hj0-8Ss{uq=kNa;XL?FU`c?L8PdT>@ zU;--{mrdPj9Ng16)>u4ZTfqP^#EiY}6L*Tw0jER+`c-Bjo6r=d=pGepv?z)Dq;&W~ zyOI;;=+%jSBf;d$=`8sM-LI9u#&rDnalIs3LO)K<0>R+F{f$~&v$f9uVz!S^`xO5V zEa@epO>~gG>*9V}V_e0B(U;RZoeJQ*xf89kFu7-%I|mGV#eG2!O?%?o5N|3TZ~kah zWDwWe3Vw9>_iE%&%E3g9Q?@AIC?}O?xMG^9pWtRVi&pShEyjHr17iLK*MEC`604Ke zkiZRJ;=?~~oHg#kv1YNNtt!@g_F%H;SN1*F#8EIVX}u=iD4cnr*vP>1-w^-UAl`T> zyR=cvFUjQWoLT?1u6*AY;tu)MM51e~cpwVdh^Uwl! zfeg-}bdQbFp+T*ux;lkg^8_XTB}tMRNGIT~ zZmF5I5?T`?_Hb`>;CwC|-0%0ny<6a>QsZr8(8rS+Z)XcjILkYPeK_(%VkTTgMa1%A z7=5sf_#PVDSaBU{A4h=)61EESKgL!;?K$PN^PYbT{K^C-ZQCT zc%|OpiHe}PHq^H1>3)g9n^x7VW4=xY*96$5)!f4qRJ;$(GWdzAQw=0?uEyc(T|;lo z4LFR)mPp=fXN%PHXWdY}$UskcRct7plFG_wji*jNH!E>9GPox#@a!!^TR#XN^cu=V zFSO_Haf3XO>Qc!ZmfuDR{9bK9ug3?l_?|%WB_zp!}ge$2J$I}&-XB<4w zL3FyJ?t8?it>KgYz9dElxiqU#4Ao_|&;d_Kc2L_=X*ALM6n_4SN*84)eyoj3J9PwT zCaV^&jfc@m*1m?-xvmw)hccIbjeBT?T{(68IdjEOX$G<~*XRNHfK|9abc*MBZrjng z=TnHTx!hMcIhWmxURgNdw{coOz#;kuJu~}Ldqf6ChBotfaYALGK3?xRtVSBKuxN8` z+KFGY9+_Zq--g}(N;=10=77T&sU6m{K2hNK$?RTD9It(eR(I4=T5b5x$=umG^c#%R zR|i~0>P`Iv8w}#C%^~)l#-o|43;HN}HMgf-ppI=1Snz0&Kv!1r2d9kNf*yc_IG&Td z9XRF0a6@Xbz*jsrGU)m7`$N*8w7w~h7FU3a%Ye?hO2uSJ83aGN{ZDMmTylX!=T1m3 z2tFK-a*)BuXB5HN`z>hYI{h?h=x>NOCG!pQEnJa{P@G@mjO`;McD0A&IhllB?myui z?xpIs!-2HiT|;Kf<>m7v7=`}cV7xQ4K~fjJ>vStrgK6&)9)drXMV=iQa10HF_HZ5L z==Lef-S>Sd6Xm6HeNe-vxKlnP%B*C6Ul?W0QPjU%!As{&+iGQfNcPzVR(ce4e&t8q zcxKOaK6f_4Q>AkYxiSj=B_hNP~h|QC=*?2lnqKHN7 zMT2T<1baP4Z@^Q34};*rF0R5^ea>u0<``wkAiKBibs*7KQC@z)!CjRayo=i(^tm1u z@g6Q5i``ufH{6cZO5}Mbh3AGBg}>yfujBQM3_WN0@(Zt`s!xDE4+8X|uq-;rZgiSzju^~N-HBQ?-t^(9=e1JIR{(f6*wM`YF`sU2hVyqtIpb9Kc;%2AtLxd{l_KxShEaKjRJa_TRb;)7v%1Ch z1$c;LCz2Y&b}R6{tN!6q`vo4V43$SquLq3$BG`u;o`O&9Q?TbAYLF*jh}1pHNp5`? z9cD6a*Pn!}VsX(C8;kGa$=F0cTZB{qEO=G=gpR1YXeyOJ6Fb4^wWzJj!JK#IT@&c| zDQz?c`wXMPT};-xijOio=-fh!>SNZl23a3l-&X=T<-z!Oli9g}a3fjOvT7CHqoLYH?M1~oMV-Z2 ze4*CX67XgWqq}PrJM|UH>5t^&te}E2MrA7c256vzaQKWxZ`(=l($66NqQT9sZgw`` zC4)$o$xX^_*XCW{wR^C4i`lvL?A=TB1lM;q(-rzX@0-gl&D$ENZnN;IZNndT&&}%P zfuZv#MU;{#rCngsMSA$!u&;CA zNn)v-=V@EDxb{tku#lp zx|fq0^c#k<1zJXC;cGJLyLcTd%3H|vY1CXO6{>3S+;4)(2T`g2geTw$3VjTEuZs@f zmClBd+I(#VomCgOmA6sbeVx4=-D{okMh?)2qW7*~ua8k{MzPBSj4^0j4~)VnPuX!) z_r_DWf*N}(ow7Gzol|fcKjuwyqGOb%*S8@)p$X0uxcx8al=NAKNu1stt_|iN?@jiW zaDG=%^Jfd4BGw!dUdPF>0R}5XWm$=Ovas9$9{(*c^8^&QjO<7?x=Czw-p6!iTxRtf z>n-%%uuCGhtg|r~Wcr!02z0u`IA~nt4CbMl830Dzj>Gi?-qv_(_R-dKnEU0Z72B*m z)*9tmHb87{LEY}-`2VpnkX4$}*J)%}T>k=HARYq74^4DZo9^k*c|h3$LR zzVh>#9`)oel$p{~$Qm?5l$(=G;Uc?S#+8`gzX5ik!Bu<8yn8KQFVB z!^w{?z#}#_!#&j93024zx=oB7OZ~KsJ9kCMNM0;T^<{v@+v0fZCHBYfKOI!G5$ykr z-jdwREGP$e?Dy>^@Q#CF4CjH;zlB-KAVqSjF2XDN8<5Q@svgw7%zP_KP7Faid)tQ7ca1fOC1Gg%zkqfL=292O1 zJpk?KiXMd%dnelS8E)4jTvpl5BCy~Znfi6A`hj34e=fiw^E)#3uk_Hx;2S7Q)URnZ zL8qO9gKVv}3kK+t^>feTQ8b*>x`dA4?c|t8;N=)IzxfJU!Fako=D{C*W$wYLdD8qIbv6QTxj{wT6vihJ z_GB6H`40U)>6u$lnRRZ?4WDT*x07)f{RE?sk>38IWYrT8nT;@% z{4;~>a~5^G0J+rw2iK#Qp=S`!c2VP`<^A(}HSnIdhpYIKYNrqtM16AYN36n(@S5<3 z@ONQUS?bAbp+?;OOzYCDI@9hc>4^3+=&T{?br&kYPt>KHt6L~H(dag%;7i79E9qA}M%@3Ie)xi*6Aj*~ zF-)BA;7X#NJqB)j1e?>AKKV7Me(zBW=A&o4KK-uUK`f(K%^Ow$)V@ma*&XR=834C3 z+5Q}7$xrqZH2f$OvzpGk+{rQU+iSpWcX0qky9M0xu*eC_ml%RK>LF}lHkgx=_)waV z@3(XNPJ0DFGR^5J>qGCLrEN5=WEB8$GE=KOtgnq~GxJd4Q{=cx{( zxp$?(J`>D^_9M3;4E|29Am@YG5@WOZBYr}qgmUEg{yhC-{M((GT5yWHk%o-kj?U?^ zR7nL<5(eVf-H98|kL@Mc<4*K04#)j0{_acYiqCQlx8nvK)$OSJe$tA;4Ymw+@2Fk? ztUVcglY{%efOy*w7Geig#6&VzF5DF&r@t<99{M`7hMJGp9RK2{z#~J`V;iZiVS@sbRfG% zZx20=*#dqplkkO*jxLgg;u^HZJ@eW%@5!%bkL^; z^Rye>*3cOV`|`+X0wOy^XL2SS6{+2PHnnWFps)CIp{#a^=fA>EW}uU;ys1)$)i;NO z1~*xy?VzvaaJImkSxbuJHpQcZDtIFuVpA2ZneNY25Ww~Z=)M9mwz`$a8RCU5rv97j zL2YgmsWy^9kLf$<@4Q9dSV7D8L3U)~N^`G`H-`=f_9G=*pfTqZ^NA~n1k>Q{kIN4g zf1bn%&}~Ij0w3S%Aa9j=>Xw;@yEz0OSTWA2!{fw@Nozh;k=InA=l;$_c zMZPB>8lOVFfbW}yuj;mv$Jfhv|BOZ^oIi8H?6J&+C`hHzhbIrxe;kE@mNwDr66I4o!@a@=68&qebdI&u-Lm{D z{{6-BA<$k5g_a6q=HODuyT;EGSYaZPFmEdQ)z#a@_64MQC zo57rgBi2ed$P~LUPTOH*yn`@4Nz^Z=iNi14kEyi2#bGg!Z1xo_$9Zyk_Mj&!9sNiz z!$Y>hYdRNvb5lOa6of?Thu&I0+)zWPB9eHoiP{vp0A^DyE~c+#6}!9v)pr|6a<6s( zN5FCI6!q{$D&ia3Fe3)tUci6zE(*a%<`}f#o4EBdFzu!&E=(6R*u`PL60-*$wgO^a zdelm&Q}zGU*ZNOywXfVK!7}`_2YtV>pEwwBzXP)eI^HCyB@-$-;A2Vvqx~mu=Q5W{ z4M3kgxc5cqwOB7zQqwcpERwyA0Y4YiV(}vWH5%Nq_B)~3*+Y^1)3WL`Ewn0oz4hGZJGl`mS6aI~Zpr|M4R*_m^c!_=N z#08N3uUZy87x>B4U*#+&={4LWHE~d_03FQc#0@KCeC)9CTwHDqKx(XkH z=w_i)Y@j~9MxWhtAs^glJe7Jw<|lL%-^X{o8dt&|-1oQ8UD7Z+sstLU$ApapI!8W| zW`RxCpf;YCE=spiH%iI6Tv@Iyzl|HIzdVX}Tn3-Ni(27l`8TGJlwb~np;T3xP&0H> zK189}qU@v3D@Az(=8LAn7gZPEP*)V2AyjzFzz18=$$p^I*Pk)sfMDvPn)C!ckEH%x zN;kz$?&TxxH@dH5bdg9}1q{&z6gYr$u!DJM-{}{a8j~)-I-21!L#Htw=22jaIdrys zjho;CF6tLXB>CO4Dl!kH2|1`QXW`R;_1TW|u@dur8Z+UkANt!T_6)R{EqLlr(Agcs z9J4Y`HE?)yx*7)I4x5NZv)4HU7XN`sWm)it6~RMX8Bat@eDzbQ;8x*)J5C4jPi`hJ zJE;6+_O&t7qPl<zoSxzE;1*Qfs zW?!=t--_a?uMXqT0zbiIVIi){&9E;Q;k2JJUnf8KQVynKyhH8&$7$V-EAkSWS_#mm z0T?>#TWK)W;38!$`p6mFsCSg7AU*>$Uk5DTO&x%*V*$0h&-_22cK5lQS2UHZT^Ba_ zJ>v1l+6nN0kKUtGZSJej@@KD2;ad&-@?aY;pA)t*6+a{ zj>b!R2Br4_jL=JHZDrx3`+#dE!j-L~J8nOkOn&gb@~?gK{qEmzAAjaHW(emXqrMv; z|GC7Cb>yN@Y>psjXJGC}UU+Lus3tTd8!ey**JrISGJ(vms=_D_4d7S$;_VwtM7c#p z6-_l>7SuFYTfs@ytVZ@wCw+heas=PVvOy@nsBb6 z*>Au`JV13W0iJow9mHBJ_q`wWas;^cIF8MEQUo{un0!MHQwRIL)p)qNZ<@Z^as*f+kr<`GKRM`eRd|yva83;+ zkve=S=kU4Q8z<;_x)I;fhBDP89&9oTmwFs|;IrTR{crzic4N%%6U0>911GJV)PR$i zSXhucIzJQR8lq<|!nJgq`09n5q|Rzf%n{`ACU9Qmq^i_8>)`L|(@nUMxt#APGpYIg zKDU{;4Ubc+=Aq+jwdSH-O*e}3W)iVwIFl+Ca2mVe70W}EZw0C=;qT?Z9Kj5fNGX@} zI#X9OkuP48C$XAoiIx3>$x|M8XV;%*ApCju!JqSZc^uP2K`iNsgniISZ|E+{%qRF> z(lA+V2@^~E@Ww@`DAwY{f6s}56WKub#BFL;e;&vV-|sUvbthO@;jJh`yZ$ua z@GiPgJ=|IsaD2RnqVhtnhTcA3*^bLH1@1jRQzbevRpJj9NmCg1`P2(XiNl4M=aImi z(h|&Qm<$TdK?xIyQ&L8s(i zGVS4D*5VIhF&qaYiB<9BoyDBLQh0PeN8!1z*r)=Zsb{tObkBEWrktPkC95)Ze=d3f zhQYP%CQjFdDXDx;ov4c2=j=gtT%c}GXbu!0TrHB=m z0u3=ofajyQui5DK@T25LTpnAg77VQ}jPxkFVjcQ>_kuo7<1%<+zC?Xx;(p2DzQYWF z9Kl@MJ-EACsr=oGIfDMhc$AE4`f#(LRlyFW1)9Fvj z@c-NRZaZ#ZgHnsv*W@$MgRaghA3#>5e)MEcL#g z-uRVzW|KMEO5=?r?+i@s9g2+#yi>h|kLkgyE;W@y^yb7-p@+zsui)yfVYXo(+c2f% z5Li4H^C=H8r?pBDpQ3_iJ}%^>n`;(%CKued3ailu{O~ra+%&1CvVgnrshxz*eGeU| zUl6mRLI-%hwZbtxa1Y5|MbNa$&=ve9yUj8 z!XX}kcfA(==eJRs2Q!swxw4u%<0kxhG&({lc;vcjbM;+VrN!K+E99VP(66U8|Gp>(x8v%5LV>DeAc zj=#<Sr{+M9VnNGk&Sk*JkNVDn64$Oy-O>L`nDdd=64nSNY6z!~WYYvas0_&>IrzHi3& z>{rG6zJ*x?)xCsN-^AFcz@uWJA&-OeT@9lZjTio&IPPCg`b+X^`f0ktqRE_)ByB2H z;URiPUueFT(48)Wm8itGm?BYw8n_2Nm`BjRAL95Z5%{?05p(zBw7AZMw=`s(HJqJi zRtT@(OH8YrXnzI{ImV2t%gn=S$Xz~3A4?Rfej@J5lPGd=%n@wl_2O>qWLnj8I?%$L zE#7r@RG^6#!ROYHi60;E^fl=aN)p#FkM=UNXLC}?SCVRh==#CNF6XwN<5Wb#AUgPL z5^y3-rvf8~vtpL2O5 zqWFV27~gdf_?Y4FD8-1`2RMo8=@5OJ`;rzX{uSJ-`I(0MI!^XYc5d|Er_SfhRXxsB z51UD!-EsHs_l|Na(}vY>H~KoB;jxGc_^WozrW*>{yD2ObSIAje7gHzv_4I_H;rQ`Ai3|(H9nZ1K2UA z=(5{IaVft;UDgL|9;Ljbw192BO=qQoD%KQDYy>AaE|?Wwh2GJRnJN>@1Ps-x17}l~ z^?J&@+@)^NJD8Gsk6Xa*R$>Z>i^?;cNSYotS%E_yj=J_O&)l7U(3*6EFEskHLSN9+ zu@4kp&{CNuodyM_FMQYdB%R)l#ZD~yQ5o%jlRFzv^1(ny{RIqUp(rn4LiSEn z2>NG3(Lvml$h}jD`8&ZI<;n6b==|QyT!Ej_iu0i+&c%o0cLhBMfi;EszRzs9I&?~9 zBbIhTf4YI%pQ1g`%2P=+CHwwt)S|~{quqjj=5F3+zRMKPW^}+Am&VgL2NYfd$Mq<> z>z+tYgdDd_x8Yy++cr-1p*URU()GHE$yeX{IKM)4D3%{}(fpFQiD~t- zMjB=%jiP7gmdhNQdeH$#RKOpul$iRzck$;d42%x=qD(NqWvTZEYxT%$Oa~a7`rp|k zc9BAdqXX_}8b0ZUC@@FuD0Jvg=(y(Jr~LlAd|VL98QfV_`<~2fQsXBxd$zVQlc|Nn z=*p|j>hH7TK(u|F;em>}iq6ujblzuVQg~e|mX*Z*E3Uw7#E>cT+9!vLAad?bzaI=G${O|{lSVhlhB@jIpIA78$agK>A&tM4hQ(>CK`?`Oc zJT{6hUL`mKIfHfAKo7CfexpA<%InQe)(GoMhYlJ*T+U#QmM)Z(Kcr*i7gl*5^CceO z>8u2H8L7WuvT`wVoPEtnPcP;;^uW)Vz8Qu;>V(sNuKznKjk|TAZPdT^AqTQFODuVCv>{ z@#_BXu9q|5mEVNzRdLCkWajC7FmZQK)gJDo6m$j}{kg%WcH=PkXIS&BqOOJ%cL zc%gwggERJ{R3&hLot3BR(PmF-`fQxVoWb4Dh;$p^``^ZUkO{rZN)9GtJH!c=2T>kKV>VXHuPZAd@BF^68Efs~?r>uAox6 zC+;L(rB^fKX7~dM#j5qSh4=+Z5!r>`zZy^>n1p|vZiL(@jN6%x(KVPNzMWZ>_t27Z z23lffaTxPAo&T{iM@zV6gkDNKvair=6WY?Xgg1~E_VbMD$H@LfLq zgs*TG8-kMFA`0}Si)SJyW+_hd?fCLf^8P7wHD*Nb6azN0vG*Y!wb|ZED##N-4VgBa z1-_~x+-Y699N(pLuOBnxKZdnh#B|MrME8r#0{+Ecw{1B?tKhEE3lU6X&xe<1?MGJci@>64Umd!cb<0 zqillb)MqIB5*^n{8&QpZ3;Gj_(^d5bHDV9=*NIG4-@~Mc({#OFr{60rYIGEnV#~r~ zy%iwV0eGf26Cc09<$DV3nnx{6?a+XE4DZ8XO<`jH3iV6s-J>`^uc~*cdb2YTCYE_H zCMsG@tpOZm5|dx1f^g5nNZe+|OCG%>zB7MvdN2A1N0LkaJuUr=eu-NB5fkrn(|_Q9 zk>XY6UN(fm?gjHT4QJ(7%r{M)mR=myp#n3&>Yxw~WMNKGFS!p| z$$~GXBy+(P%ZAl#WVNwAfq$4|t;7>{nd&8lj_xva=o$1g*9S?DL%&*tFJ(7a^heM} z8k|A-(ZEYNTRgqwn60CO(rD4Dvj=&c@hbjBJ!F#7cF6q^5_yAr8gVtom zRA)N^aU9OY!)9G3D66gXR9h+~U3-n{P z=P~164%ci1=%zg66lQAnHOFYn6SsY%wXU~SJjmFRQ#{a{DoQpk?f^f^NbtX(Fs z`s;Lof4~Xf5lojYLN2ci@_h@=Z!}0}6Ry<@@P3)3d{S9Shv9mYDJO$b)K><*mv`yB z%*Ct|8?LPlt2&%D^*Q#`-slWUahzk-SkL$H15Cg_8E^fon&hucA2)ci*qGkM8PdrUmHuapu4_?SV1R<&+4f(tk)V!vZIn z7#D)MD2!vJ2K;z}`!Q9|3gXR)VCqapoOcR6)D41(Gk(tA%CzXqcw)2SYkCFL_&V#{ zCz!{zhMCdFeFsZQ&S18Fdgf3S6FfYL?O~2S7N(-*BRThBM8LgU!Kt(H4zu42rPNfuDf^{|!X{ zvSQM8(vlNA57*jm)Qp!{Z-ZDdlry_nZ2`03yYl?G{+x$Uu22;JbD21b-*Qn7)l2=q z%i5#xe(@h9<_hrCdb|XofvNxdGyfY#t8xW+U^}^JKeb_2YQcecy0_zvW@0cgHCLcZ z6~?>N5|8C*l$%PNpOwst@Z>5?x0sA0V=vEJ8?VSBIxO}ozu-YA33E9e9z>%`SV6ox z1;)D1ToM__TqSb;GJJ9c4GXp8n9&fo`gr{6el4B>=fgBAyj*s3raG+$)to}b%Fd*t z4yfMq=!36`ay^tDr7zH{cEK?|M6G%sO>Gcafag7&E11EN744!iZjG1d1wAQRlJb{c z_DeXdq7{(|CD)l@Uw~|XOZEMI8_<5zQ*(Z7MBx?tV1EBxi1r4N{%HZD+2mhcs#wJ2hT=@rZv^hf(j*l;S@DO4*<@IP!s58F>& zdycpIg~}x>-p7K(!LsX&Gd5X?MEm`AAvn-Y^y@ZelF<|9*|viF z`@;JTZ`cX$QLX@6YUoMB`A$Pxv8DJWxi%jiUbR8ILzz_6h91aK@Vqr~$ZU0{fekKu zPx;q2EOO9q4EtDxZO)5#v=qHuo5Xg;RJvhovn?IWJ?PuLK_o4OBkKcL%`?_noL9#| zTLqXuSO*sVtUqHXDkkWudLsC$WH08gPUF6QMaS?3@fu#KtWt4F1AA8>tDKh~aU1jE zpf)@gA^(7*u!|OW8{p-AeWvSe6Y)o)2SN&~1Y6qh9 z1aX0wgIaqXJ9z?E(J$0QE}n*VKf!9;x+lp^ z54CJYPNoA?Gw#A%nfPw!GR<{92=mYLhJAHu2wme*;oM;pJkqITl6Ge3xb>cK`+(LRIHZp^t3t~GPX6Hx8?;#D7or)3&i>oT;vy|Ad?b5=6ayS)Is@`d>` zEKxSR5>-(FTERJ%qch|lOjuL;aYs9|;Z!#>$M6cAShnDcPw}qCM44rHY0l7H9;y%% zaA4^`kOlB6dbrXC;Z&SS2jnWeRu_aVRBG3$)Uq(yqG-TA*T$nZ0Cwpx9Z4zp6Q9G0 zWtOw!JkO82t|X3ZNj8FL>3fx5XA(<$d=>AadiDV~`fj`N+~t{Q+e^VRU(j*5gNS+% zh3*WI{2KY-XEf2@m{XD!M46krU5xJ!yb|~vE1-SX3MPWKW}3>|;7l$@J@%6y-El{T z+Qx)tr{mkS{||Hf{y8iCfA^FmGiQABzrOi&m>hnJPU?&BmpAaArO*TM_%GiK^P}v) z=WYIdqDNaM(R2nWCH`Xq_k1SQ{CU>>f11Yq_ui*}f8Xb?UNnEY*?*eM)DNHBM7-D2 zndCCxS{!_fCYf(!Y^JWJ+oIQc!9i)6Woc)AOaY zNH>a`lh-XscS9T+Q9Kju6!4Y<=TOD1?$*L7{O6hH{r>eOzOht)Q@~@hQI-B0oBUbm zsWZ@T;Hyhv^4nwgxf}A*<42FgX&gfzNkKd-aeteE-RK|6LGOReB$*D%oByY8ogD!2 z9sm6sfPbC}^PFiC>Ho`@4gPPwXpqFDt%-b3a5}Z=eB6qg|Cg_hJooWRVoczp3H{?6 z9;x&EDuC~+|31&Y>Hj*1d-;EvzkLorz*Usa+yD5=Le#%z#r|6fua4GIkM94b(Yu{Dn5Yr=uL%MMSi1t4wK_9}>Y=GNB@(B4+#bL| zcL)7EKqc!A3-~}+;GmOOY4Wh(t*&$fTHf)LbX%<7~tik~-iS?2cMB1dq`~Dw_GIR>^$fXBQr_ zC0Yib3;@!~3j&uB)KFHo`;O0adFz4x}M4Hxp5}=7ZXjae(eZ<6Eo#7y4lcpjE>J~zWT9H7_eTrj!( z0dBPPMkL=mDaf}@;_;_A%nhl9-qR8uB7u|K4}V$`oX>Q=JG7j0y&3O@KMCR-dHFV{ z{Q2)Q3<{cYWMc&tz6xl+5iCUqvTt|v_#vpJ6VY?$lXa7+)OOMTbsXN}D*Z|i@I0pH z`=v2Bw&Q;9;jF^U&_<}*9hh_29o=^blN%@g-anX32Hi#WJWl4kN)O=!Iv>;9k>t#R zb{x#FLZ+-jh2Mw_*@3TvbjKw(1jTP6Y|?zc1BZ;biyqM9Oi{ba{D22!!t{KrErv4} z2kWVzXjNefc_Y60*&*mY>qovzBG*kP&n@TPZYIASAh(@^&G*mQbGYnCa#}(1SvbOW=n0gEdVecTFd6E$6;(=Gz?y(CN<6<9M6f{~Qf6k{nf#{1gwr;P7pR zT4<~-y$Ys>bem{HCOI4vN>1x@pOJh8svsS_@qBI9 zA$!!~ODHW-9TJE{{piY0Vv@vkIz^Tfmo_se@jwtwZWE)PQ;|k88@nLUBwkeTMO7ga zG$IRhfP3x^?>q#xVj|IhKJx&Q(SnK>TJQoc=Wd(K>;NEq^hOgM^Xx{*U{uSHyM z39pwx-0R0w@Fe2-bYl5(qTps?_yOYgIb!#1V&ZdRcjW(R?|i`%JGU-=Li2@f40EPd7||$k$RsfeSo%n z2%0@|Pvgmdqrl%H3IypF)=;h=H?l3gjm@|y^CH;cJ_{FZJZ?41ai@#i=LaOD8{K9r z$QwLm>b!VcT`NaUoh6q~_DZF>-O833SeFO9Qvu^V=qf@tU2b^fX$_-ycJHpZ-+>jN zj3;-+*yRDWw4UIU0e5@I?H++j9wy2h!&UdVx609Da@UN?PI+0AF_n+E^EvA-`{dv{ zlj4+lyJRfo+#&huiussxvejLF#jKxoGF9fM9GPnOrxKIRs&LuOpF%w91-x(-9O_NH z{t;^bz#DkSOplsUg)OMQQdC@7IOr06kagzGb@1u*>4qA^t%^HI;V8+%L6@0R+n@sK zQvD35cqUXiOS?=m_&AHyFg5lzwSVa*T`FpXbTO=9R0J6j3@x2C+I- zAX1lz)D>@Mt`n^}*CbQow(x-}lDHZPU5mt(2zRFZBG>~j=)|Ph zWjt@KV60iT(ona?(Dsgk$k=k=6B`>(&W$8jI0Dx2*$YKxJ%OrdV%udRxz^b=Let?ai>=(LptXr=X}pe zr$HrIFiC;FyIr4j13c1Z>dvue84kfB6OhQXc}JKHBa(iM;ht_wfSOM$CZj<1IHbV1sztY-^V8mpnRD3G`8c z(L12>Z-PF$V2_?F{vnQ#OB`EMu*br)O#<&u552oL=MFPXTiWOLYR0lAEgW%&Be2H+ z1h1-H)w<>{-T$0&rJe)Qc}=>>kS3AkeJeSP#VQqQKnqc8h^IdDZ0)^CrwAKF&i zfHQB=6Q`QBN40uJKjsKrF>y3rppH|;ppU-@QfrFCDLc(GAd8$gtCYNBt>#&SO>fHV zItuq4g-720GZF?7b4`eYwGrvHCoq#On-gquw z#2S$|1X*M~H?ioNQ8P#mc*#wWMaPw5&o$!E)#1c-;ev|r?nhOGAza)R?^sn}$@O2& z-Azq6xFgpru-ogpLlmQCGNwxmwG|3}I*gEI6qZ}YB; zR2OCM|EM!r>X3Kcp}L4*VNX4w=7P69p}LrRuj0!4k<;FYo`sdo^S(<|7Zv)T4|v~A zs*8@h%6jCRGv}L2=bIVtTZ~`uuM`u~!hdPIPL9m8!}~5%UDV9&HPM@oc;OM%Mc>;i zN7h-U_Si4UNcZHVG}T4MySWSQAT4{6dYue)$P4dKT|{Q-2Il9+X6EMR+cMxE=K0graN=0i)E6f(o`22b7cjyWM%rjtGxXN)kT}RHOKH`V#NmZ z9$pXyChq51P+hFdf~C!WWxf5a=)G?hZ+vSoE3icr=u%zu%yA8Il3Wr6rc@UT@9YfB zX@&0W&DoJ(^4{v2H&!>%`;LeL5!FSX9_~*5VF5{i}zoE zT_~Z+?DPKXunSG{`w{Oyf?eo?H_u`J$FK{+n>W1w73@Na{I0p*S=fbw=XRGpvAb?& zzwND>5gGoJ_dkSP7<;egoD6@<`wxCz+LNc>i74g`PS3 zq1pL~dHDr-{*L#bf?WuI$-pk;%)^(=z}LKcvFUyjQhyW_$k=+hWEb$xu%%h zpuRkz)&f%kc6tB8tab3}A@5&!H8P7n*b!14n>n8+C^djJPn$2#nkg@uBd>TfXoH=g zE#7|@cA;lZd_V5>+b6vL0qnvE z6mZ4+pTjOJah2UOQz#9)kYTFOHt)X(yHNJl`nvbkw?P5Ny#F5T!T=O-;fY|^y#EF4 z!U`_)MR3d8S1p!yEtUlXeVm)ty9C`=j#8ueBymR2azM=i5 zIWWKuuU|ZK&EB>q?t&v;e+0kKPwKBR{K6DpW3@ z#`{A1b(DlQNMAUAfQB$eLHI3<-!Qr#q8E(+0}y=;wcvNd^Su|r{7;4F3+M&Eh33cT z1=GJcrvG|GKS41Rp8py&|A6IFAo_Wg2&X87Lh!=xUxwa=-G$u06>b-5|5Ic3 z!HeMZ3ov^hJ#d5?I7KsAqL`#m0yF4OK)Ze~ZpzY(B>iynI%KoSY*p@#$?e{s@JCkUxLIoqq~(cYcLGe_o_r zhCvs9-bTZZQ1FGX$Nz!ox`%c@M7f`!+b>YJZI7YX<$#hN;`%o?9Qi@GOep z8*u9tRQm>+eFw!}7<&k({tlzw`_3~tubmHvf2@h_6R=v8a`XEZpFJxsUKwWoqG|MKNiqG z#&ma!fmBrN+UL~6=_DRfT*T;|DKSIzyDRwp8QR@F-2OU~_2l5)v16!W)vj*G(7H7_ zO?}+88>r{KpTnd!UnB}#_{$OeSA@6b%-z9P_JJ;O)yVr9;;G5Pd6n?fRAIbd!*(CL z*Y*^qYnU)y3$tA7uv`zbiOaZWYJ4|w+wx?d!fRi`YsIxLoYwriAj0#mDt9xN!7a06 zmt_s7%pqLX5j@r@Jk}5n`wGY19RK7UI@TH*))pF;@}gXlHM}wE$vna}a0+jwccwWq zabAr50$Zq7F}kgor*6ShAHz|9?E7kdU_KN(ei!sOmoz7m!@X3;w{*@aEbuzYx3P_G5OanHeDjXI8v5o!Bex(C zc{Ji3YdO0#eHClQKAKwoAx=!YlGZF4yM;$NX$UEfw_xbWO znDI1xxVBd|c`5R-D@JU+(t<-rd zvHRxCimzVEy>*_A#A8!R9K@}J)4c>SF3@sTKg4?Ow%xx~wA{AUn>TjP$lbfZ6}CdT z(dMgdl-n|1FrCv8T8++Xh!0ffC5NldOo&ka8L6=sC@@QOmn|6A3jP?ywGnab4lQNf z8cGrEq=s_R#h2N~k2z)zr`}l_b+lwn)&UfBG2gy2X6v-P^ zqEsXCK=g9)jjrQ)e2DaCsF5SwjuW^G#hf+R$qn2HdE5vkYMlyBgogcIXVfnvYlm~+ zU!BSZnxSG($*uu8y;{D{CwP&Sov-jAE8?rR-=wqQ}8{O7T@AFckQ$p*kyBVN0=126li73^P3f)svwsJ%$)9dgsqKZ&XT-DE0Xrkx$Le(2%CtHgN<=kf`&Qz3eYgSF@K=g!_vD?l z??9GYu`iL)Wws1 zicjhsm(+YGKqn2Yj+E_-I7)O;VU50h*ReKwm8hdP#Ke@lf^uLExgyH;L>!`tc6hrH zdg#!es3}V59UkkHwUBMpkRrHx9}Tq5tqIC6y>I6IXs5hU!=s~kCzVd`?kP%+p6nC; z7?zvzF6Td$Va;RYb&N`WVh8>O=xbsJ+}oF!<1GpiR6HA?0Ul7juui40X;*z2H(LXr zi~N|UesSxGnzfraS+=b!A6QL_y(A-?=^3N3J-$tqsMa@PzQGx?vMwANkL~b1_P}IQ z`)`BV%b@Ux!S?WZDbp*yb*=6Wa#_%Ck@q0v8~G(noYhmF^j&l>Pm`P9#dV?no1!~y zn%wJ@ovR1_jw3LXvT=@Xi4s1B7P;f@AK~NH&@$Z*9gyt^FVZdXZ5{W)F5hzMx?=-J z(bki1R=1b+*e-%09)c^XFJ)!bT2VzScN;z2QqX-T$`d93gD0+ja)F)h$yz zs@h=_J;?+OkZTjgyhlwjv`c1@cw}C>p5L}EF67!o5uZ~t2)X8P9PbiI_LGXCLuGzK zMjqg#zXZQt^9AofMJYV=o5YcA_;B?_)$DO=|0vXPhnr#zH&y(%XC1wDX8;lHm!2`S z=~^a7HKV*#cE^})L*`p|qziww8>?cj z@5KI_{(GBVh4ChI`%LYcUJwn%|0$ZC*t6Eh4L^WY8~(~p7*(v-&VKVx_M(Q)h`Lh+ zs@W62v;GHNpEJA4(yqGW9GADJM4EERSY3GUwJUI;lRg!=Dl5goE3;pUhT^A%R#K0S z=o~SzfFFAANw?;K9cB$YCQUm`PLeLoQPQ8e+{w|c(zItRaL-AZ$fwSd>Hq4E9#Q#9 z;gz~8p!w3X@wUl;JKT*Xw?bZx7_Tear62wAs&RE&RpahIb^_{NZrM$pd*XpFB^6fF z9Ud3pmn*W6(4?GB;u>Ch@A88Glllz{{8tq_)JLfJJi@J}Ouj*ME)j?1O{qDH_npJ# zL|f?h&tC>}{*`rYD3)4|vXmWV`kkr)vim&3jVM48!#Z8&RHx*GMEQnCce>Pm>b%^nO zb0qPN${ArD5}(GfK}&k2LQrmztXU^xc8NhlyONn|5G?uoDt5y^J^R)N9lK{c1G47O z)!rq3qbUyKr8}9FMPs*7h61l9T zgMOx_(Xkk-V>=HO9b^B&xv|;19kxqX{wa4jg)lT(ya)w)oPu=dS>qvhB1cA1Y^{)7SQv z-H>5E)m`>??=1^*VNe50-E;TWziEf)@n`mjUjLoC9+@>51{-|eZ*e!juJiGa?t3JG zlta(+yKtB8Mp8fIsnud0zWPnOa%a!hlN;2+Aj{dl?Fo%LLT~@jj_=z)S-&^u-3Wu# zJKyQ^duMMz(|6#XwJ+$OkClbZ&+Ik7{6weuJv`C+U%Kb}5AOJ;<_o>!;c4vquvcB3 z>ffRV{eup4W>kDRPB?jni3;b>I8WgZ>)-E%LDhNeYr6M8j4O-CMXU(7B?-+$ahCA}*Qy89a2E*+aO$#~mtdP@Z znc4AM6Fc}mlhC~7bI-7Np0Bt6+0#_kJ~>O}x2BVveZ_1NzS}&s=KlLn^myKR9;bhS z*)Cr(*@c<)q4xfVERsNkxO^3;x zrUUECtq*1{UBTkaJ~DCX2JY?dnPwnue!&E!ApI(yHx36G!tu+SQiL@XUn*D7Yj`8E zMqOBH@za<1KCcsZPAbuAbM#a1;x5=nC6Yg+!nteF#_grBg+?b6-q(mUVB=P}}T zX(m^&eC7G6UF{wze{bz#$1nSRJw(4cvWjt{9}c@c;qemujD5R8s7(1 zdk|9Yq0QhP$uUPmJ+x)_(AK$uO;kGd&_>o})ImRT2mKV4PCc}5^^T0)Jq3PMDe0fr zmy|!D>F+6*!m+>V!|&@q{=(QTH}QOp*u5XnSD$9SM#l3s3QWpTCr*W1Tlaj8w&!a^ zc<1^s?L)jQW4tUqt=;Xq6 zJ0L>tf99j}3-{a$P_Z}S!0w2q`|^+Nta+>CoaG0+6uE51C{#WrjO= zlTPj`3fT!7nW9_J{ys<%*QEU_lAUmSr0Ys`uA-<&WuBpmZF0VfL?@i%jI-OsS69VR zr!$!G&GlWY_)1QQB{S5nO{Nu8aX|cKzC-u>VC_%;9X7x1UFdxu6q(o4cMf})@b_!c zqwG6!@L6$VWT%2u)@x7Ykjr^t->sYr_dm#cn|iV*M>#NyVwZciS%3#$I0;8%8@N>9$)t+ns@ zJT)9Jb$W-SKQ@`tAvD=xR!`SnF2$ezXLui$p5P?!PP^K_SnAeS-U*829=e zuizNgR!)f(UYj)db32*bBe#hVsN$RSO{v;#Jg|y&ea{9R+BsFrgYtdN`*-? z_A=!>r%Twhj0&#USO=jVCeym2#Cai2RJ{&Y?){yjjV^H)-v1mh&nJt!Fz-J8QsTL& z;kjtoWqABqlR~%ujX9xG)(h{86Zv YV85H3AsxHABUg8CCsl)YzQI5L571sa)c^nh literal 0 HcmV?d00001 diff --git a/ssl.lua b/ssl.lua new file mode 100644 index 0000000..3bd236b --- /dev/null +++ b/ssl.lua @@ -0,0 +1,189 @@ +------------------------------------------------------------------------------ +-- LuaSec 0.7 +-- +-- Copyright (C) 2006-2018 Bruno Silvestre +-- +------------------------------------------------------------------------------ + +local core = require("ssl.core") +local context = require("ssl.context") +local x509 = require("ssl.x509") +local config = require("ssl.config") + +local unpack = table.unpack or unpack + +-- We must prevent the contexts to be collected before the connections, +-- otherwise the C registry will be cleared. +local registry = setmetatable({}, {__mode="k"}) + +-- +-- +-- +local function optexec(func, param, ctx) + if param then + if type(param) == "table" then + return func(ctx, unpack(param)) + else + return func(ctx, param) + end + end + return true +end + +-- +-- +-- +local function newcontext(cfg) + local succ, msg, ctx + -- Create the context + ctx, msg = context.create(cfg.protocol) + if not ctx then return nil, msg end + -- Mode + succ, msg = context.setmode(ctx, cfg.mode) + if not succ then return nil, msg end + -- Load the key + if cfg.key then + if cfg.password and + type(cfg.password) ~= "function" and + type(cfg.password) ~= "string" + then + return nil, "invalid password type" + end + succ, msg = context.loadkey(ctx, cfg.key, cfg.password) + if not succ then return nil, msg end + end + -- Load the certificate + if cfg.certificate then + succ, msg = context.loadcert(ctx, cfg.certificate) + if not succ then return nil, msg end + if cfg.key and context.checkkey then + succ = context.checkkey(ctx) + if not succ then return nil, "private key does not match public key" end + end + end + -- Load the CA certificates + if cfg.cafile or cfg.capath then + succ, msg = context.locations(ctx, cfg.cafile, cfg.capath) + if not succ then return nil, msg end + end + -- Set SSL ciphers + if cfg.ciphers then + succ, msg = context.setcipher(ctx, cfg.ciphers) + if not succ then return nil, msg end + end + -- Set the verification options + succ, msg = optexec(context.setverify, cfg.verify, ctx) + if not succ then return nil, msg end + -- Set SSL options + succ, msg = optexec(context.setoptions, cfg.options, ctx) + if not succ then return nil, msg end + -- Set the depth for certificate verification + if cfg.depth then + succ, msg = context.setdepth(ctx, cfg.depth) + if not succ then return nil, msg end + end + + -- NOTE: Setting DH parameters and elliptic curves needs to come after + -- setoptions(), in case the user has specified the single_{dh,ecdh}_use + -- options. + + -- Set DH parameters + if cfg.dhparam then + if type(cfg.dhparam) ~= "function" then + return nil, "invalid DH parameter type" + end + context.setdhparam(ctx, cfg.dhparam) + end + + -- Set elliptic curves + if (not config.algorithms.ec) and (cfg.curve or cfg.curveslist) then + return false, "elliptic curves not supported" + end + if config.capabilities.curves_list and cfg.curveslist then + succ, msg = context.setcurveslist(ctx, cfg.curveslist) + if not succ then return nil, msg end + elseif cfg.curve then + succ, msg = context.setcurve(ctx, cfg.curve) + if not succ then return nil, msg end + end + + -- Set extra verification options + if cfg.verifyext and ctx.setverifyext then + succ, msg = optexec(ctx.setverifyext, cfg.verifyext, ctx) + if not succ then return nil, msg end + end + + return ctx +end + +-- +-- +-- +local function wrap(sock, cfg) + local ctx, msg + if type(cfg) == "table" then + ctx, msg = newcontext(cfg) + if not ctx then return nil, msg end + else + ctx = cfg + end + local s, msg = core.create(ctx) + if s then + core.setfd(s, sock:getfd()) + sock:setfd(core.SOCKET_INVALID) + registry[s] = ctx + return s + end + return nil, msg +end + +-- +-- Extract connection information. +-- +local function info(ssl, field) + local str, comp, err, protocol + comp, err = core.compression(ssl) + if err then + return comp, err + end + -- Avoid parser + if field == "compression" then + return comp + end + local info = {compression = comp} + str, info.bits, info.algbits, protocol = core.info(ssl) + if str then + info.cipher, info.protocol, info.key, + info.authentication, info.encryption, info.mac = + string.match(str, + "^(%S+)%s+(%S+)%s+Kx=(%S+)%s+Au=(%S+)%s+Enc=(%S+)%s+Mac=(%S+)") + info.export = (string.match(str, "%sexport%s*$") ~= nil) + end + if protocol then + info.protocol = protocol + end + if field then + return info[field] + end + -- Empty? + return ( (next(info)) and info ) +end + +-- +-- Set method for SSL connections. +-- +core.setmethod("info", info) + +-------------------------------------------------------------------------------- +-- Export module +-- + +local _M = { + _VERSION = "0.7", + _COPYRIGHT = core.copyright(), + loadcertificate = x509.load, + newcontext = newcontext, + wrap = wrap, +} + +return _M diff --git a/ssl/https.lua b/ssl/https.lua new file mode 100644 index 0000000..d1b708a --- /dev/null +++ b/ssl/https.lua @@ -0,0 +1,143 @@ +---------------------------------------------------------------------------- +-- LuaSec 0.7 +-- Copyright (C) 2009-2018 PUC-Rio +-- +-- Author: Pablo Musa +-- Author: Tomas Guisasola +--------------------------------------------------------------------------- + +local socket = require("socket") +local ssl = require("ssl") +local ltn12 = require("ltn12") +local http = require("socket.http") +local url = require("socket.url") + +local try = socket.try + +-- +-- Module +-- +local _M = { + _VERSION = "0.7", + _COPYRIGHT = "LuaSec 0.7 - Copyright (C) 2009-2018 PUC-Rio", + PORT = 443, +} + +-- TLS configuration +local cfg = { + protocol = "any", + options = {"all", "no_sslv2", "no_sslv3"}, + verify = "none", +} + +-------------------------------------------------------------------- +-- Auxiliar Functions +-------------------------------------------------------------------- + +-- Insert default HTTPS port. +local function default_https_port(u) + return url.build(url.parse(u, {port = _M.PORT})) +end + +-- Convert an URL to a table according to Luasocket needs. +local function urlstring_totable(url, body, result_table) + url = { + url = default_https_port(url), + method = body and "POST" or "GET", + sink = ltn12.sink.table(result_table) + } + if body then + url.source = ltn12.source.string(body) + url.headers = { + ["content-length"] = #body, + ["content-type"] = "application/x-www-form-urlencoded", + } + end + return url +end + +-- Forward calls to the real connection object. +local function reg(conn) + local mt = getmetatable(conn.sock).__index + for name, method in pairs(mt) do + if type(method) == "function" then + conn[name] = function (self, ...) + return method(self.sock, ...) + end + end + end +end + +-- Return a function which performs the SSL/TLS connection. +local function tcp(params) + params = params or {} + -- Default settings + for k, v in pairs(cfg) do + params[k] = params[k] or v + end + -- Force client mode + params.mode = "client" + -- 'create' function for LuaSocket + return function () + local conn = {} + conn.sock = try(socket.tcp()) + local st = getmetatable(conn.sock).__index.settimeout + function conn:settimeout(...) + return st(self.sock, ...) + end + -- Replace TCP's connection function + function conn:connect(host, port) + try(self.sock:connect(host, port)) + self.sock = try(ssl.wrap(self.sock, params)) + self.sock:sni(host) + try(self.sock:dohandshake()) + reg(self, getmetatable(self.sock)) + return 1 + end + return conn + end +end + +-------------------------------------------------------------------- +-- Main Function +-------------------------------------------------------------------- + +-- Make a HTTP request over secure connection. This function receives +-- the same parameters of LuaSocket's HTTP module (except 'proxy' and +-- 'redirect') plus LuaSec parameters. +-- +-- @param url mandatory (string or table) +-- @param body optional (string) +-- @return (string if url == string or 1), code, headers, status +-- +local function request(url, body) + local result_table = {} + local stringrequest = type(url) == "string" + if stringrequest then + url = urlstring_totable(url, body, result_table) + else + url.url = default_https_port(url.url) + end + if http.PROXY or url.proxy then + return nil, "proxy not supported" + elseif url.redirect then + return nil, "redirect not supported" + elseif url.create then + return nil, "create function not permitted" + end + -- New 'create' function to establish a secure connection + url.create = tcp(url) + local res, code, headers, status = http.request(url) + if res and stringrequest then + return table.concat(result_table), code, headers, status + end + return res, code, headers, status +end + +-------------------------------------------------------------------------------- +-- Export module +-- + +_M.request = request + +return _M diff --git a/websocket.lua b/websocket.lua new file mode 100644 index 0000000..4979057 --- /dev/null +++ b/websocket.lua @@ -0,0 +1,12 @@ +local frame = require'websocket.frame' + +return { + client = require'websocket.client', + server = require'websocket.server', + CONTINUATION = frame.CONTINUATION, + TEXT = frame.TEXT, + BINARY = frame.BINARY, + CLOSE = frame.CLOSE, + PING = frame.PING, + PONG = frame.PONG +} diff --git a/websocket/bit.lua b/websocket/bit.lua new file mode 100644 index 0000000..f8fc685 --- /dev/null +++ b/websocket/bit.lua @@ -0,0 +1,10 @@ +local has_bit32,bit = pcall(require,'bit32') +if has_bit32 then + -- lua 5.2 / bit32 library + bit.rol = bit.lrotate + bit.ror = bit.rrotate + return bit +else + -- luajit / lua 5.1 + luabitop + return require'bit' +end diff --git a/websocket/client.lua b/websocket/client.lua new file mode 100644 index 0000000..b31e90a --- /dev/null +++ b/websocket/client.lua @@ -0,0 +1,7 @@ +return setmetatable({},{__index = function(self, name) + if name == 'new' then name = 'sync' end + local backend = require("websocket.client_" .. name) + self[name] = backend + if name == 'sync' then self.new = backend end + return backend +end}) diff --git a/websocket/client_copas.lua b/websocket/client_copas.lua new file mode 100644 index 0000000..f404706 --- /dev/null +++ b/websocket/client_copas.lua @@ -0,0 +1,40 @@ +local socket = require'socket' +local sync = require'websocket.sync' +local tools = require'websocket.tools' + +local new = function(ws) + ws = ws or {} + local copas = require'copas' + + local self = {} + + self.sock_connect = function(self,host,port) + self.sock = socket.tcp() + if ws.timeout ~= nil then + self.sock:settimeout(ws.timeout) + end + local _,err = copas.connect(self.sock,host,port) + if err and err ~= 'already connected' then + self.sock:close() + return nil,err + end + end + + self.sock_send = function(self,...) + return copas.send(self.sock,...) + end + + self.sock_receive = function(self,...) + return copas.receive(self.sock,...) + end + + self.sock_close = function(self) + self.sock:shutdown() + self.sock:close() + end + + self = sync.extend(self) + return self +end + +return new diff --git a/websocket/client_ev.lua b/websocket/client_ev.lua new file mode 100644 index 0000000..d9564c2 --- /dev/null +++ b/websocket/client_ev.lua @@ -0,0 +1,248 @@ + +local socket = require'socket' +local tools = require'websocket.tools' +local frame = require'websocket.frame' +local handshake = require'websocket.handshake' +local debug = require'debug' +local tconcat = table.concat +local tinsert = table.insert + +local ev = function(ws) + ws = ws or {} + local ev = require'ev' + local sock + local loop = ws.loop or ev.Loop.default + local fd + local message_io + local handshake_io + local send_io_stop + local async_send + local self = {} + self.state = 'CLOSED' + local close_timer + local user_on_message + local user_on_close + local user_on_open + local user_on_error + local cleanup = function() + if close_timer then + close_timer:stop(loop) + close_timer = nil + end + if handshake_io then + handshake_io:stop(loop) + handshake_io:clear_pending(loop) + handshake_io = nil + end + if send_io_stop then + send_io_stop() + send_io_stop = nil + end + if message_io then + message_io:stop(loop) + message_io:clear_pending(loop) + message_io = nil + end + if sock then + sock:shutdown() + sock:close() + sock = nil + end + end + + local on_close = function(was_clean,code,reason) + cleanup() + self.state = 'CLOSED' + if user_on_close then + user_on_close(self,was_clean,code,reason or '') + end + end + local on_error = function(err,dont_cleanup) + if not dont_cleanup then + cleanup() + end + if user_on_error then + user_on_error(self,err) + else + print('Error',err) + end + end + local on_open = function(_,headers) + self.state = 'OPEN' + if user_on_open then + user_on_open(self,headers['sec-websocket-protocol'],headers) + end + end + local handle_socket_err = function(err,io,sock) + if self.state == 'OPEN' then + on_close(false,1006,err) + elseif self.state ~= 'CLOSED' then + on_error(err) + end + end + local on_message = function(message,opcode) + if opcode == frame.TEXT or opcode == frame.BINARY then + if user_on_message then + user_on_message(self,message,opcode) + end + elseif opcode == frame.CLOSE then + if self.state ~= 'CLOSING' then + self.state = 'CLOSING' + local code,reason = frame.decode_close(message) + local encoded = frame.encode_close(code) + encoded = frame.encode(encoded,frame.CLOSE,true) + async_send(encoded, + function() + on_close(true,code or 1005,reason) + end,handle_socket_err) + else + on_close(true,1005,'') + end + end + end + + self.send = function(_,message,opcode) + local encoded = frame.encode(message,opcode or frame.TEXT,true) + async_send(encoded, nil, handle_socket_err) + end + + self.connect = function(_,url,ws_protocol) + if self.state ~= 'CLOSED' then + on_error('wrong state',true) + return + end + local protocol,host,port,uri = tools.parse_url(url) + if protocol ~= 'ws' then + on_error('bad protocol') + return + end + local ws_protocols_tbl = {''} + if type(ws_protocol) == 'string' then + ws_protocols_tbl = {ws_protocol} + elseif type(ws_protocol) == 'table' then + ws_protocols_tbl = ws_protocol + end + self.state = 'CONNECTING' + assert(not sock) + sock = socket.tcp() + fd = sock:getfd() + assert(fd > -1) + -- set non blocking + sock:settimeout(0) + sock:setoption('tcp-nodelay',true) + async_send,send_io_stop = require'websocket.ev_common'.async_send(sock,loop) + handshake_io = ev.IO.new( + function(loop,connect_io) + connect_io:stop(loop) + local key = tools.generate_key() + local req = handshake.upgrade_request + { + key = key, + host = host, + port = port, + protocols = ws_protocols_tbl, + origin = ws.origin, + uri = uri + } + async_send( + req, + function() + local resp = {} + local response = '' + local read_upgrade = function(loop,read_io) + -- this seems to be possible, i don't understand why though :( + if not sock then + read_io:stop(loop) + handshake_io = nil + return + end + repeat + local byte,err,pp = sock:receive(1) + if byte then + response = response..byte + elseif err then + if err == 'timeout' then + return + else + read_io:stop(loop) + on_error('accept failed') + return + end + end + until response:sub(#response-3) == '\r\n\r\n' + read_io:stop(loop) + handshake_io = nil + local headers = handshake.http_headers(response) + local expected_accept = handshake.sec_websocket_accept(key) + if headers['sec-websocket-accept'] ~= expected_accept then + self.state = 'CLOSED' + on_error('accept failed') + return + end + message_io = require'websocket.ev_common'.message_io( + sock,loop, + on_message, + handle_socket_err) + on_open(self, headers) + end + handshake_io = ev.IO.new(read_upgrade,fd,ev.READ) + handshake_io:start(loop)-- handshake + end, + handle_socket_err) + end,fd,ev.WRITE) + local connected,err = sock:connect(host,port) + if connected then + handshake_io:callback()(loop,handshake_io) + elseif err == 'timeout' or err == 'Operation already in progress' then + handshake_io:start(loop)-- connect + else + self.state = 'CLOSED' + on_error(err) + end + end + + self.on_close = function(_,on_close_arg) + user_on_close = on_close_arg + end + + self.on_error = function(_,on_error_arg) + user_on_error = on_error_arg + end + + self.on_open = function(_,on_open_arg) + user_on_open = on_open_arg + end + + self.on_message = function(_,on_message_arg) + user_on_message = on_message_arg + end + + self.close = function(_,code,reason,timeout) + if handshake_io then + handshake_io:stop(loop) + handshake_io:clear_pending(loop) + end + if self.state == 'CONNECTING' then + self.state = 'CLOSING' + on_close(false,1006,'') + return + elseif self.state == 'OPEN' then + self.state = 'CLOSING' + timeout = timeout or 3 + local encoded = frame.encode_close(code or 1000,reason) + encoded = frame.encode(encoded,frame.CLOSE,true) + -- this should let the other peer confirm the CLOSE message + -- by 'echoing' the message. + async_send(encoded) + close_timer = ev.Timer.new(function() + close_timer = nil + on_close(false,1006,'timeout') + end,timeout) + close_timer:start(loop) + end + end + + return self +end + +return ev diff --git a/websocket/client_sync.lua b/websocket/client_sync.lua new file mode 100644 index 0000000..eaac5d7 --- /dev/null +++ b/websocket/client_sync.lua @@ -0,0 +1,38 @@ +local socket = require'socket' +local sync = require'websocket.sync' +local tools = require'websocket.tools' + +local new = function(ws) + ws = ws or {} + local self = {} + + self.sock_connect = function(self,host,port) + self.sock = socket.tcp() + if ws.timeout ~= nil then + self.sock:settimeout(ws.timeout) + end + local _,err = self.sock:connect(host,port) + if err then + self.sock:close() + return nil,err + end + end + + self.sock_send = function(self,...) + return self.sock:send(...) + end + + self.sock_receive = function(self,...) + return self.sock:receive(...) + end + + self.sock_close = function(self) + --self.sock:shutdown() Causes errors? + self.sock:close() + end + + self = sync.extend(self) + return self +end + +return new diff --git a/websocket/ev_common.lua b/websocket/ev_common.lua new file mode 100644 index 0000000..58a2f0e --- /dev/null +++ b/websocket/ev_common.lua @@ -0,0 +1,161 @@ +local ev = require'ev' +local frame = require'websocket.frame' +local tinsert = table.insert +local tconcat = table.concat +local eps = 2^-40 + +local detach = function(f,loop) + if ev.Idle then + ev.Idle.new(function(loop,io) + io:stop(loop) + f() + end):start(loop) + else + ev.Timer.new(function(loop,io) + io:stop(loop) + f() + end,eps):start(loop) + end +end + +local async_send = function(sock,loop) + assert(sock) + loop = loop or ev.Loop.default + local sock_send = sock.send + local buffer + local index + local callbacks = {} + local send = function(loop,write_io) + local len = #buffer + local sent,err,last = sock_send(sock,buffer,index) + if not sent and err ~= 'timeout' then + write_io:stop(loop) + if callbacks.on_err then + if write_io:is_active() then + callbacks.on_err(err) + else + detach(function() + callbacks.on_err(err) + end,loop) + end + end + elseif sent then + local copy = buffer + buffer = nil + index = nil + write_io:stop(loop) + if callbacks.on_sent then + -- detach calling callbacks.on_sent from current + -- exection if thiis call context is not + -- the send io to let send_async(_,on_sent,_) truely + -- behave async. + if write_io:is_active() then + + callbacks.on_sent(copy) + else + -- on_sent is only defined when responding to "on message for close op" + -- so this can happen only once per lifetime of a websocket instance. + -- callbacks.on_sent may be overwritten by a new call to send_async + -- (e.g. due to calling ws:close(...) or ws:send(...)) + local on_sent = callbacks.on_sent + detach(function() + on_sent(copy) + end,loop) + end + end + else + assert(last < len) + index = last + 1 + end + end + local io = ev.IO.new(send,sock:getfd(),ev.WRITE) + local stop = function() + io:stop(loop) + buffer = nil + index = nil + end + local send_async = function(data,on_sent,on_err) + if buffer then + -- a write io is still running + buffer = buffer..data + return #buffer + else + buffer = data + end + callbacks.on_sent = on_sent + callbacks.on_err = on_err + if not io:is_active() then + send(loop,io) + if index ~= nil then + io:start(loop) + end + end + local buffered = (buffer and #buffer - (index or 0)) or 0 + return buffered + end + return send_async,stop +end + +local message_io = function(sock,loop,on_message,on_error) + assert(sock) + assert(loop) + assert(on_message) + assert(on_error) + local last + local frames = {} + local first_opcode + assert(sock:getfd() > -1) + local message_io + local dispatch = function(loop,io) + -- could be stopped meanwhile by on_message function + while message_io:is_active() do + local encoded,err,part = sock:receive(100000) + if err then + if err == 'timeout' and #part == 0 then + return + elseif #part == 0 then + if message_io then + message_io:stop(loop) + end + on_error(err,io,sock) + return + end + end + if last then + encoded = last..(encoded or part) + last = nil + else + encoded = encoded or part + end + + repeat + local decoded,fin,opcode,rest = frame.decode(encoded) + if decoded then + if not first_opcode then + first_opcode = opcode + end + tinsert(frames,decoded) + encoded = rest + if fin == true then + on_message(tconcat(frames),first_opcode) + frames = {} + first_opcode = nil + end + end + until not decoded + if #encoded > 0 then + last = encoded + end + end + end + message_io = ev.IO.new(dispatch,sock:getfd(),ev.READ) + message_io:start(loop) + -- the might be already data waiting (which will not trigger the IO) + dispatch(loop,message_io) + return message_io +end + +return { + async_send = async_send, + message_io = message_io +} diff --git a/websocket/frame.lua b/websocket/frame.lua new file mode 100644 index 0000000..9888089 --- /dev/null +++ b/websocket/frame.lua @@ -0,0 +1,214 @@ +-- Following Websocket RFC: http://tools.ietf.org/html/rfc6455 +local bit = require'websocket.bit' +local band = bit.band +local bxor = bit.bxor +local bor = bit.bor +local tremove = table.remove +local srep = string.rep +local ssub = string.sub +local sbyte = string.byte +local schar = string.char +local band = bit.band +local rshift = bit.rshift +local tinsert = table.insert +local tconcat = table.concat +local mmin = math.min +local mfloor = math.floor +local mrandom = math.random +local unpack = unpack or table.unpack +local tools = require'websocket.tools' +local write_int8 = tools.write_int8 +local write_int16 = tools.write_int16 +local write_int32 = tools.write_int32 +local read_int8 = tools.read_int8 +local read_int16 = tools.read_int16 +local read_int32 = tools.read_int32 + +local bits = function(...) + local n = 0 + for _,bitn in pairs{...} do + n = n + 2^bitn + end + return n +end + +local bit_7 = bits(7) +local bit_0_3 = bits(0,1,2,3) +local bit_0_6 = bits(0,1,2,3,4,5,6) + +-- TODO: improve performance +local xor_mask = function(encoded,mask,payload) + local transformed,transformed_arr = {},{} + -- xor chunk-wise to prevent stack overflow. + -- sbyte and schar multiple in/out values + -- which require stack + for p=1,payload,2000 do + local last = mmin(p+1999,payload) + local original = {sbyte(encoded,p,last)} + for i=1,#original do + local j = (i-1) % 4 + 1 + transformed[i] = bxor(original[i],mask[j]) + end + local xored = schar(unpack(transformed,1,#original)) + tinsert(transformed_arr,xored) + end + return tconcat(transformed_arr) +end + +local encode_header_small = function(header, payload) + return schar(header, payload) +end + +local encode_header_medium = function(header, payload, len) + return schar(header, payload, band(rshift(len, 8), 0xFF), band(len, 0xFF)) +end + +local encode_header_big = function(header, payload, high, low) + return schar(header, payload)..write_int32(high)..write_int32(low) +end + +local encode = function(data,opcode,masked,fin) + local header = opcode or 1-- TEXT is default opcode + if fin == nil or fin == true then + header = bor(header,bit_7) + end + local payload = 0 + if masked then + payload = bor(payload,bit_7) + end + local len = #data + local chunks = {} + if len < 126 then + payload = bor(payload,len) + tinsert(chunks,encode_header_small(header,payload)) + elseif len <= 0xffff then + payload = bor(payload,126) + tinsert(chunks,encode_header_medium(header,payload,len)) + elseif len < 2^53 then + local high = mfloor(len/2^32) + local low = len - high*2^32 + payload = bor(payload,127) + tinsert(chunks,encode_header_big(header,payload,high,low)) + end + if not masked then + tinsert(chunks,data) + else + local m1 = mrandom(0,0xff) + local m2 = mrandom(0,0xff) + local m3 = mrandom(0,0xff) + local m4 = mrandom(0,0xff) + local mask = {m1,m2,m3,m4} + tinsert(chunks,write_int8(m1,m2,m3,m4)) + tinsert(chunks,xor_mask(data,mask,#data)) + end + return tconcat(chunks) +end + +local decode = function(encoded) + local encoded_bak = encoded + if #encoded < 2 then + return nil,2-#encoded + end + local pos,header,payload + pos,header = read_int8(encoded,1) + pos,payload = read_int8(encoded,pos) + local high,low + encoded = ssub(encoded,pos) + local bytes = 2 + local fin = band(header,bit_7) > 0 + local opcode = band(header,bit_0_3) + local mask = band(payload,bit_7) > 0 + payload = band(payload,bit_0_6) + if payload > 125 then + if payload == 126 then + if #encoded < 2 then + return nil,2-#encoded + end + pos,payload = read_int16(encoded,1) + elseif payload == 127 then + if #encoded < 8 then + return nil,8-#encoded + end + pos,high = read_int32(encoded,1) + pos,low = read_int32(encoded,pos) + payload = high*2^32 + low + if payload < 0xffff or payload > 2^53 then + assert(false,'INVALID PAYLOAD '..payload) + end + else + assert(false,'INVALID PAYLOAD '..payload) + end + encoded = ssub(encoded,pos) + bytes = bytes + pos - 1 + end + local decoded + if mask then + local bytes_short = payload + 4 - #encoded + if bytes_short > 0 then + return nil,bytes_short + end + local m1,m2,m3,m4 + pos,m1 = read_int8(encoded,1) + pos,m2 = read_int8(encoded,pos) + pos,m3 = read_int8(encoded,pos) + pos,m4 = read_int8(encoded,pos) + encoded = ssub(encoded,pos) + local mask = { + m1,m2,m3,m4 + } + decoded = xor_mask(encoded,mask,payload) + bytes = bytes + 4 + payload + else + local bytes_short = payload - #encoded + if bytes_short > 0 then + return nil,bytes_short + end + if #encoded > payload then + decoded = ssub(encoded,1,payload) + else + decoded = encoded + end + bytes = bytes + payload + end + return decoded,fin,opcode,encoded_bak:sub(bytes+1),mask +end + +local encode_close = function(code,reason) + if code then + local data = write_int16(code) + if reason then + data = data..tostring(reason) + end + return data + end + return '' +end + +local decode_close = function(data) + local _,code,reason + if data then + if #data > 1 then + _,code = read_int16(data,1) + end + if #data > 2 then + reason = data:sub(3) + end + end + return code,reason +end + +return { + encode = encode, + decode = decode, + encode_close = encode_close, + decode_close = decode_close, + encode_header_small = encode_header_small, + encode_header_medium = encode_header_medium, + encode_header_big = encode_header_big, + CONTINUATION = 0, + TEXT = 1, + BINARY = 2, + CLOSE = 8, + PING = 9, + PONG = 10 +} diff --git a/websocket/handshake.lua b/websocket/handshake.lua new file mode 100644 index 0000000..b90d267 --- /dev/null +++ b/websocket/handshake.lua @@ -0,0 +1,104 @@ +local sha1 = require'websocket.tools'.sha1 +local base64 = require'websocket.tools'.base64 +local tinsert = table.insert + +local guid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" + +local sec_websocket_accept = function(sec_websocket_key) + local a = sec_websocket_key..guid + local sha1 = sha1(a) + assert((#sha1 % 2) == 0) + return base64.encode(sha1) +end + +local http_headers = function(request) + local headers = {} + if not request:match('.*HTTP/1%.1') then + return headers + end + request = request:match('[^\r\n]+\r\n(.*)') + local empty_line + for line in request:gmatch('[^\r\n]*\r\n') do + local name,val = line:match('([^%s]+)%s*:%s*([^\r\n]+)') + if name and val then + name = name:lower() + if not name:match('sec%-websocket') then + val = val:lower() + end + if not headers[name] then + headers[name] = val + else + headers[name] = headers[name]..','..val + end + elseif line == '\r\n' then + empty_line = true + else + assert(false,line..'('..#line..')') + end + end + return headers,request:match('\r\n\r\n(.*)') +end + +local upgrade_request = function(req) + local format = string.format + local lines = { + format('GET %s HTTP/1.1',req.uri or ''), + format('Host: %s',req.host), + 'Upgrade: websocket', + 'Connection: Upgrade', + format('Sec-WebSocket-Key: %s',req.key), + format('Sec-WebSocket-Protocol: %s',table.concat(req.protocols,', ')), + 'Sec-WebSocket-Version: 13', + } + if req.origin then + tinsert(lines,string.format('Origin: %s',req.origin)) + end + if req.port and req.port ~= 80 then + lines[2] = format('Host: %s:%d',req.host,req.port) + end + tinsert(lines,'\r\n') + return table.concat(lines,'\r\n') +end + +local accept_upgrade = function(request,protocols) + local headers = http_headers(request) + if headers['upgrade'] ~= 'websocket' or + not headers['connection'] or + not headers['connection']:match('upgrade') or + headers['sec-websocket-key'] == nil or + headers['sec-websocket-version'] ~= '13' then + return nil,'HTTP/1.1 400 Bad Request\r\n\r\n' + end + local prot + if headers['sec-websocket-protocol'] then + for protocol in headers['sec-websocket-protocol']:gmatch('([^,%s]+)%s?,?') do + for _,supported in ipairs(protocols) do + if supported == protocol then + prot = protocol + break + end + end + if prot then + break + end + end + end + local lines = { + 'HTTP/1.1 101 Switching Protocols', + 'Upgrade: websocket', + 'Connection: '..headers['connection'], + string.format('Sec-WebSocket-Accept: %s',sec_websocket_accept(headers['sec-websocket-key'])), + } + if prot then + tinsert(lines,string.format('Sec-WebSocket-Protocol: %s',prot)) + end + tinsert(lines,'\r\n') + return table.concat(lines,'\r\n'),prot +end + +return { + sec_websocket_accept = sec_websocket_accept, + http_headers = http_headers, + accept_upgrade = accept_upgrade, + upgrade_request = upgrade_request, +} diff --git a/websocket/server.lua b/websocket/server.lua new file mode 100644 index 0000000..4b5e38f --- /dev/null +++ b/websocket/server.lua @@ -0,0 +1,5 @@ +return setmetatable({},{__index = function(self, name) + local backend = require("websocket.server_" .. name) + self[name] = backend + return backend +end}) diff --git a/websocket/server_copas.lua b/websocket/server_copas.lua new file mode 100644 index 0000000..ea13006 --- /dev/null +++ b/websocket/server_copas.lua @@ -0,0 +1,146 @@ + +local socket = require'socket' +local copas = require'copas' +local tools = require'websocket.tools' +local frame = require'websocket.frame' +local handshake = require'websocket.handshake' +local sync = require'websocket.sync' +local tconcat = table.concat +local tinsert = table.insert + +local clients = {} + +local client = function(sock,protocol) + local copas = require'copas' + + local self = {} + + self.state = 'OPEN' + self.is_server = true + + self.sock_send = function(self,...) + return copas.send(sock,...) + end + + self.sock_receive = function(self,...) + return copas.receive(sock,...) + end + + self.sock_close = function(self) + sock:shutdown() + sock:close() + end + + self = sync.extend(self) + + self.on_close = function(self) + clients[protocol][self] = nil + end + + self.broadcast = function(self,...) + for client in pairs(clients[protocol]) do + if client ~= self then + client:send(...) + end + end + self:send(...) + end + + return self +end + +local listen = function(opts) + + local copas = require'copas' + assert(opts and (opts.protocols or opts.default)) + local on_error = opts.on_error or function(s) print(s) end + local listener,err = socket.bind(opts.interface or '*',opts.port or 80) + if err then + error(err) + end + local protocols = {} + if opts.protocols then + for protocol in pairs(opts.protocols) do + clients[protocol] = {} + tinsert(protocols,protocol) + end + end + -- true is the 'magic' index for the default handler + clients[true] = {} + copas.addserver( + listener, + function(sock) + local request = {} + repeat + -- no timeout used, so should either return with line or err + local line,err = copas.receive(sock,'*l') + if line then + request[#request+1] = line + else + sock:close() + if on_error then + on_error('invalid request') + end + return + end + until line == '' + local upgrade_request = tconcat(request,'\r\n') + local response,protocol = handshake.accept_upgrade(upgrade_request,protocols) + if not response then + copas.send(sock,protocol) + sock:close() + if on_error then + on_error('invalid request') + end + return + end + copas.send(sock,response) + local handler + local new_client + local protocol_index + if protocol and opts.protocols[protocol] then + protocol_index = protocol + handler = opts.protocols[protocol] + elseif opts.default then + -- true is the 'magic' index for the default handler + protocol_index = true + handler = opts.default + else + sock:close() + if on_error then + on_error('bad protocol') + end + return + end + new_client = client(sock,protocol_index) + clients[protocol_index][new_client] = true + handler(new_client) + -- this is a dirty trick for preventing + -- copas from automatically and prematurely closing + -- the socket + while new_client.state ~= 'CLOSED' do + local dummy = { + send = function() end, + close = function() end + } + copas.send(dummy) + end + end) + local self = {} + self.close = function(_,keep_clients) + copas.removeserver(listener) + listener = nil + if not keep_clients then + for protocol,clients in pairs(clients) do + for client in pairs(clients) do + client:close() + end + end + end + end + return self +end + +return { + listen = listen +} diff --git a/websocket/server_ev.lua b/websocket/server_ev.lua new file mode 100644 index 0000000..abd7a20 --- /dev/null +++ b/websocket/server_ev.lua @@ -0,0 +1,266 @@ + +local socket = require'socket' +local tools = require'websocket.tools' +local frame = require'websocket.frame' +local handshake = require'websocket.handshake' +local tconcat = table.concat +local tinsert = table.insert +local ev +local loop + +local clients = {} +clients[true] = {} + +local client = function(sock,protocol) + assert(sock) + sock:setoption('tcp-nodelay',true) + local fd = sock:getfd() + local message_io + local close_timer + local async_send = require'websocket.ev_common'.async_send(sock,loop) + local self = {} + self.state = 'OPEN' + self.sock = sock + local user_on_error + local on_error = function(s,err) + if clients[protocol] ~= nil and clients[protocol][self] ~= nil then + clients[protocol][self] = nil + end + if user_on_error then + user_on_error(self,err) + else + print('Websocket server error',err) + end + end + local user_on_close + local on_close = function(was_clean,code,reason) + if clients[protocol] ~= nil and clients[protocol][self] ~= nil then + clients[protocol][self] = nil + end + if close_timer then + close_timer:stop(loop) + close_timer = nil + end + message_io:stop(loop) + self.state = 'CLOSED' + if user_on_close then + user_on_close(self,was_clean,code,reason or '') + end + sock:shutdown() + sock:close() + end + + local handle_sock_err = function(err) + if err == 'closed' then + if self.state ~= 'CLOSED' then + on_close(false,1006,'') + end + else + on_error(err) + end + end + local user_on_message = function() end + local TEXT = frame.TEXT + local BINARY = frame.BINARY + local on_message = function(message,opcode) + if opcode == TEXT or opcode == BINARY then + user_on_message(self,message,opcode) + elseif opcode == frame.CLOSE then + if self.state ~= 'CLOSING' then + self.state = 'CLOSING' + local code,reason = frame.decode_close(message) + local encoded = frame.encode_close(code) + encoded = frame.encode(encoded,frame.CLOSE) + async_send(encoded, + function() + on_close(true,code or 1006,reason) + end,handle_sock_err) + else + on_close(true,1006,'') + end + end + end + + self.send = function(_,message,opcode) + local encoded = frame.encode(message,opcode or frame.TEXT) + return async_send(encoded) + end + + self.on_close = function(_,on_close_arg) + user_on_close = on_close_arg + end + + self.on_error = function(_,on_error_arg) + user_on_error = on_error_arg + end + + self.on_message = function(_,on_message_arg) + user_on_message = on_message_arg + end + + self.broadcast = function(_,...) + for client in pairs(clients[protocol]) do + if client.state == 'OPEN' then + client:send(...) + end + end + end + + self.close = function(_,code,reason,timeout) + if clients[protocol] ~= nil and clients[protocol][self] ~= nil then + clients[protocol][self] = nil + end + if not message_io then + self:start() + end + if self.state == 'OPEN' then + self.state = 'CLOSING' + assert(message_io) + timeout = timeout or 3 + local encoded = frame.encode_close(code or 1000,reason or '') + encoded = frame.encode(encoded,frame.CLOSE) + async_send(encoded) + close_timer = ev.Timer.new(function() + close_timer = nil + on_close(false,1006,'timeout') + end,timeout) + close_timer:start(loop) + end + end + + self.start = function() + message_io = require'websocket.ev_common'.message_io( + sock,loop, + on_message, + handle_sock_err) + end + + + return self +end + +local listen = function(opts) + assert(opts and (opts.protocols or opts.default)) + ev = require'ev' + loop = opts.loop or ev.Loop.default + local user_on_error + local on_error = function(s,err) + if user_on_error then + user_on_error(s,err) + else + print(err) + end + end + local protocols = {} + if opts.protocols then + for protocol in pairs(opts.protocols) do + clients[protocol] = {} + tinsert(protocols,protocol) + end + end + local self = {} + self.on_error = function(self,on_error) + user_on_error = on_error + end + local listener,err = socket.bind(opts.interface or '*',opts.port or 80) + if not listener then + error(err) + end + listener:settimeout(0) + + self.sock = function() + return listener + end + + local listen_io = ev.IO.new( + function() + local client_sock = listener:accept() + client_sock:settimeout(0) + assert(client_sock) + local request = {} + local last + ev.IO.new( + function(loop,read_io) + repeat + local line,err,part = client_sock:receive('*l') + if line then + if last then + line = last..line + last = nil + end + request[#request+1] = line + elseif err ~= 'timeout' then + on_error(self,'Websocket Handshake failed due to socket err:'..err) + read_io:stop(loop) + return + else + last = part + return + end + until line == '' + read_io:stop(loop) + local upgrade_request = tconcat(request,'\r\n') + local response,protocol = handshake.accept_upgrade(upgrade_request,protocols) + if not response then + print('Handshake failed, Request:') + print(upgrade_request) + client_sock:close() + return + end + local index + ev.IO.new( + function(loop,write_io) + local len = #response + local sent,err = client_sock:send(response,index) + if not sent then + write_io:stop(loop) + print('Websocket client closed while handshake',err) + elseif sent == len then + write_io:stop(loop) + local protocol_handler + local new_client + local protocol_index + if protocol and opts.protocols[protocol] then + protocol_index = protocol + protocol_handler = opts.protocols[protocol] + elseif opts.default then + -- true is the 'magic' index for the default handler + protocol_index = true + protocol_handler = opts.default + else + client_sock:close() + if on_error then + on_error('bad protocol') + end + return + end + new_client = client(client_sock,protocol_index) + clients[protocol_index][new_client] = true + protocol_handler(new_client) + new_client:start(loop) + else + assert(sent < len) + index = sent + end + end,client_sock:getfd(),ev.WRITE):start(loop) + end,client_sock:getfd(),ev.READ):start(loop) + end,listener:getfd(),ev.READ) + self.close = function(keep_clients) + listen_io:stop(loop) + listener:close() + listener = nil + if not keep_clients then + for protocol,clients in pairs(clients) do + for client in pairs(clients) do + client:close() + end + end + end + end + listen_io:start(loop) + return self +end + +return { + listen = listen +} diff --git a/websocket/sync.lua b/websocket/sync.lua new file mode 100644 index 0000000..2b94312 --- /dev/null +++ b/websocket/sync.lua @@ -0,0 +1,203 @@ +local frame = require'websocket.frame' +local handshake = require'websocket.handshake' +local tools = require'websocket.tools' +local ssl = require'ssl' +local tinsert = table.insert +local tconcat = table.concat + +local receive = function(self) + if self.state ~= 'OPEN' and not self.is_closing then + return nil,nil,false,1006,'wrong state' + end + local first_opcode + local frames + local bytes = 3 + local encoded = '' + local clean = function(was_clean,code,reason) + self.state = 'CLOSED' + self:sock_close() + if self.on_close then + self:on_close() + end + return nil,nil,was_clean,code,reason or 'closed' + end + while true do + local chunk,err = self:sock_receive(bytes) + if err then + return clean(false,1006,err) + end + encoded = encoded..chunk + local decoded,fin,opcode,_,masked = frame.decode(encoded) + if not self.is_server and masked then + return clean(false,1006,'Websocket receive failed: frame was not masked') + end + if decoded then + if opcode == frame.CLOSE then + if not self.is_closing then + local code,reason = frame.decode_close(decoded) + -- echo code + local msg = frame.encode_close(code) + local encoded = frame.encode(msg,frame.CLOSE,not self.is_server) + local n,err = self:sock_send(encoded) + if n == #encoded then + return clean(true,code,reason) + else + return clean(false,code,err) + end + else + return decoded,opcode + end + end + if not first_opcode then + first_opcode = opcode + end + if not fin then + if not frames then + frames = {} + elseif opcode ~= frame.CONTINUATION then + return clean(false,1002,'protocol error') + end + bytes = 3 + encoded = '' + tinsert(frames,decoded) + elseif not frames then + return decoded,first_opcode + else + tinsert(frames,decoded) + return tconcat(frames),first_opcode + end + else + assert(type(fin) == 'number' and fin > 0) + bytes = fin + end + end + assert(false,'never reach here') +end + +local send = function(self,data,opcode) + if self.state ~= 'OPEN' then + return nil,false,1006,'wrong state' + end + local encoded = frame.encode(data,opcode or frame.TEXT,not self.is_server) + local n,err = self:sock_send(encoded) + if n ~= #encoded then + return nil,self:close(1006,err) + end + return true +end + +local close = function(self,code,reason) + if self.state ~= 'OPEN' then + return false,1006,'wrong state' + end + if self.state == 'CLOSED' then + return false,1006,'wrong state' + end + local msg = frame.encode_close(code or 1000,reason) + local encoded = frame.encode(msg,frame.CLOSE,not self.is_server) + local n,err = self:sock_send(encoded) + local was_clean = false + local code = 1005 + local reason = '' + if n == #encoded then + self.is_closing = true + local rmsg,opcode = self:receive() + if rmsg and opcode == frame.CLOSE then + code,reason = frame.decode_close(rmsg) + was_clean = true + end + else + reason = err + end + self:sock_close() + if self.on_close then + self:on_close() + end + self.state = 'CLOSED' + return was_clean,code,reason or '' +end + +local connect = function(self,ws_url,ws_protocol,ssl_params) + if self.state ~= 'CLOSED' then + return nil,'wrong state',nil + end + local protocol,host,port,uri = tools.parse_url(ws_url) + -- Preconnect (for SSL if needed) + local _,err = self:sock_connect(host,port) + if err then + return nil,err,nil + end + if protocol == 'wss' then + self.sock = ssl.wrap(self.sock, ssl_params) + self.sock:dohandshake() + elseif protocol ~= "ws" then + return nil, 'bad protocol' + end + local ws_protocols_tbl = {''} + if type(ws_protocol) == 'string' then + ws_protocols_tbl = {ws_protocol} + elseif type(ws_protocol) == 'table' then + ws_protocols_tbl = ws_protocol + end + local key = tools.generate_key() + local req = handshake.upgrade_request + { + key = key, + host = host, + port = port, + protocols = ws_protocols_tbl, + uri = uri + } + local n,err = self:sock_send(req) + if n ~= #req then + return nil,err,nil + end + local resp = {} + repeat + local line,err = self:sock_receive('*l') + resp[#resp+1] = line + if err then + return nil,err,nil + end + until line == '' + local response = table.concat(resp,'\r\n') + local headers = handshake.http_headers(response) + local expected_accept = handshake.sec_websocket_accept(key) + if headers['sec-websocket-accept'] ~= expected_accept then + local msg = 'Websocket Handshake failed: Invalid Sec-Websocket-Accept (expected %s got %s)' + return nil,msg:format(expected_accept,headers['sec-websocket-accept'] or 'nil'),headers + end + self.state = 'OPEN' + return true,headers['sec-websocket-protocol'],headers +end + +local extend = function(obj) + assert(obj.sock_send) + assert(obj.sock_receive) + assert(obj.sock_close) + + assert(obj.is_closing == nil) + assert(obj.receive == nil) + assert(obj.send == nil) + assert(obj.close == nil) + assert(obj.connect == nil) + + if not obj.is_server then + assert(obj.sock_connect) + end + + if not obj.state then + obj.state = 'CLOSED' + end + + obj.receive = receive + obj.send = send + obj.close = close + obj.connect = connect + + return obj +end + +return { + extend = extend +} diff --git a/websocket/tools.lua b/websocket/tools.lua new file mode 100644 index 0000000..59586e3 --- /dev/null +++ b/websocket/tools.lua @@ -0,0 +1,203 @@ +local bit = require'websocket.bit' +local mime = require'mime' +local rol = bit.rol +local bxor = bit.bxor +local bor = bit.bor +local band = bit.band +local bnot = bit.bnot +local lshift = bit.lshift +local rshift = bit.rshift +local sunpack = string.unpack +local srep = string.rep +local schar = string.char +local tremove = table.remove +local tinsert = table.insert +local tconcat = table.concat +local mrandom = math.random + +local read_n_bytes = function(str, pos, n) + pos = pos or 1 + return pos+n, string.byte(str, pos, pos + n - 1) +end + +local read_int8 = function(str, pos) + return read_n_bytes(str, pos, 1) +end + +local read_int16 = function(str, pos) + local new_pos,a,b = read_n_bytes(str, pos, 2) + return new_pos, lshift(a, 8) + b +end + +local read_int32 = function(str, pos) + local new_pos,a,b,c,d = read_n_bytes(str, pos, 4) + return new_pos, + lshift(a, 24) + + lshift(b, 16) + + lshift(c, 8 ) + + d +end + +local pack_bytes = string.char + +local write_int8 = pack_bytes + +local write_int16 = function(v) + return pack_bytes(rshift(v, 8), band(v, 0xFF)) +end + +local write_int32 = function(v) + return pack_bytes( + band(rshift(v, 24), 0xFF), + band(rshift(v, 16), 0xFF), + band(rshift(v, 8), 0xFF), + band(v, 0xFF) + ) +end + +-- used for generate key random ops +math.randomseed(os.time()) + +-- SHA1 hashing from luacrypto, if available +local sha1_crypto +local done,crypto = pcall(require,'crypto') +if done then + sha1_crypto = function(msg) + return crypto.digest('sha1',msg,true) + end +end + +-- from wiki article, not particularly clever impl +local sha1_wiki = function(msg) + local h0 = 0x67452301 + local h1 = 0xEFCDAB89 + local h2 = 0x98BADCFE + local h3 = 0x10325476 + local h4 = 0xC3D2E1F0 + + local bits = #msg * 8 + -- append b10000000 + msg = msg..schar(0x80) + + -- 64 bit length will be appended + local bytes = #msg + 8 + + -- 512 bit append stuff + local fill_bytes = 64 - (bytes % 64) + if fill_bytes ~= 64 then + msg = msg..srep(schar(0),fill_bytes) + end + + -- append 64 big endian length + local high = math.floor(bits/2^32) + local low = bits - high*2^32 + msg = msg..write_int32(high)..write_int32(low) + + assert(#msg % 64 == 0,#msg % 64) + + for j=1,#msg,64 do + local chunk = msg:sub(j,j+63) + assert(#chunk==64,#chunk) + local words = {} + local next = 1 + local word + repeat + next,word = read_int32(chunk, next) + tinsert(words, word) + until next > 64 + assert(#words==16) + for i=17,80 do + words[i] = bxor(words[i-3],words[i-8],words[i-14],words[i-16]) + words[i] = rol(words[i],1) + end + local a = h0 + local b = h1 + local c = h2 + local d = h3 + local e = h4 + + for i=1,80 do + local k,f + if i > 0 and i < 21 then + f = bor(band(b,c),band(bnot(b),d)) + k = 0x5A827999 + elseif i > 20 and i < 41 then + f = bxor(b,c,d) + k = 0x6ED9EBA1 + elseif i > 40 and i < 61 then + f = bor(band(b,c),band(b,d),band(c,d)) + k = 0x8F1BBCDC + elseif i > 60 and i < 81 then + f = bxor(b,c,d) + k = 0xCA62C1D6 + end + + local temp = rol(a,5) + f + e + k + words[i] + e = d + d = c + c = rol(b,30) + b = a + a = temp + end + + h0 = h0 + a + h1 = h1 + b + h2 = h2 + c + h3 = h3 + d + h4 = h4 + e + + end + + -- necessary on sizeof(int) == 32 machines + h0 = band(h0,0xffffffff) + h1 = band(h1,0xffffffff) + h2 = band(h2,0xffffffff) + h3 = band(h3,0xffffffff) + h4 = band(h4,0xffffffff) + + return write_int32(h0)..write_int32(h1)..write_int32(h2)..write_int32(h3)..write_int32(h4) +end + +local base64_encode = function(data) + return (mime.b64(data)) +end + +local DEFAULT_PORTS = {ws = 80, wss = 443} + +local parse_url = function(url) + local protocol, address, uri = url:match('^(%w+)://([^/]+)(.*)$') + if not protocol then error('Invalid URL:'..url) end + protocol = protocol:lower() + local host, port = address:match("^(.+):(%d+)$") + if not host then + host = address + port = DEFAULT_PORTS[protocol] + end + if not uri or uri == '' then uri = '/' end + return protocol, host, tonumber(port), uri +end + +local generate_key = function() + local r1 = mrandom(0,0xfffffff) + local r2 = mrandom(0,0xfffffff) + local r3 = mrandom(0,0xfffffff) + local r4 = mrandom(0,0xfffffff) + local key = write_int32(r1)..write_int32(r2)..write_int32(r3)..write_int32(r4) + assert(#key==16,#key) + return base64_encode(key) +end + +return { + sha1 = sha1_crypto or sha1_wiki, + base64 = { + encode = base64_encode + }, + parse_url = parse_url, + generate_key = generate_key, + read_int8 = read_int8, + read_int16 = read_int16, + read_int32 = read_int32, + write_int8 = write_int8, + write_int16 = write_int16, + write_int32 = write_int32, +}