From 49c9e5e37c4f517b7701f9c1c7df9750e26e0d4b Mon Sep 17 00:00:00 2001 From: astronand Date: Thu, 23 Jul 2026 14:33:16 -0400 Subject: [PATCH] finished http implementation working on spm and liveboot env --- Src/Hyperion-core/authors.txt | 2 + Src/Hyperion-core/data/bin/httptest | 7 + Src/Hyperion-core/data/lib/http | 113 ++++---- Src/Hyperion-core/description.txt | 1 + Src/Hyperion-core/version.txt | 1 + Src/Hyperion-firmware-ac/authors.txt | 3 + Src/Hyperion-firmware-ac/description.txt | 1 + Src/Hyperion-firmware-ac/version.txt | 1 + Src/Hyperion-firmware-ccpc/authors.txt | 2 + Src/Hyperion-firmware-ccpc/description.txt | 1 + Src/Hyperion-firmware-ccpc/version.txt | 1 + Src/Hyperion-firmware-cct/authors.txt | 2 + .../data/lib/modules/cc-tweaked/22_http.kmod | 266 ++++++------------ .../lib/modules/cc-tweaked/30_deamon.kmod | 13 +- Src/Hyperion-firmware-cct/description.txt | 1 + Src/Hyperion-firmware-cct/version.txt | 1 + Src/Hyperion-firmware-oc/authors.txt | 1 + Src/Hyperion-firmware-oc/description.txt | 1 + Src/Hyperion-firmware-oc/version.txt | 1 + Src/Hyperion-kernel/authors.txt | 3 + Src/Hyperion-kernel/data/boot/kernel.lua | 96 +++++++ .../data/lib/modules/hyperion/11_ld.kmod | 76 ++--- .../data/lib/modules/hyperion/12_devfs.kmod | 4 +- .../data/lib/modules/hyperion/20_socket.kmod | 4 +- .../lib/modules/hyperion/45_hypervisor.kmod | 26 +- .../data/lib/modules/hyperion/90_init.kmod | 1 + .../data/lib/modules/hyperion/91_login.kmod | 10 - Src/Hyperion-kernel/description.txt | 1 + Src/Hyperion-kernel/version.txt | 1 + Src/bit32/authors.txt | 2 + Src/bit32/description.txt | 1 + Src/bit32/version.txt | 1 + Src/blake2s/authors.txt | 2 + Src/blake2s/description.txt | 1 + Src/blake2s/version.txt | 1 + Src/coreutils/authors.txt | 3 + Src/coreutils/data/etc/sysinit/autorun/login | 169 +++++++++++ Src/coreutils/description.txt | 1 + Src/coreutils/version.txt | 1 + Src/deflate/authors.txt | 2 + Src/deflate/description.txt | 1 + Src/deflate/version.txt | 1 + Src/gfxterm/authors.txt | 2 + .../data/usr/local/share/fonts/default8x9.psf | Bin 0 -> 3358 bytes Src/gfxterm/description.txt | 1 + Src/gfxterm/version.txt | 1 + Src/hysh/authors.txt | 2 + Src/hysh/description.txt | 1 + Src/hysh/version.txt | 1 + Src/iniparse/authors.txt | 2 + Src/iniparse/description.txt | 1 + Src/iniparse/version.txt | 1 + Src/install.json | 12 - Src/installer/authors.txt | 2 + Src/installer/description.txt | 1 + Src/installer/version.txt | 1 + Src/json/authors.txt | 2 + Src/json/description.txt | 1 + Src/json/version.txt | 1 + Src/lua/authors.txt | 2 + Src/lua/description.txt | 1 + Src/lua/version.txt | 1 + Src/micro/authors.txt | 2 + Src/micro/description.txt | 1 + Src/micro/version.txt | 1 + Src/minify/authors.txt | 3 + Src/minify/description.txt | 1 + Src/minify/version.txt | 1 + Src/pid/authors.txt | 2 + Src/pid/description.txt | 1 + Src/pid/version.txt | 1 + Src/spm/authors.txt | 2 + Src/spm/data/bin/spm | 68 ++++- Src/spm/description.txt | 1 + Src/spm/version.txt | 1 + Src/sysinit/authors.txt | 2 + Src/sysinit/data/usr/lib/sysinit/sysinit | 47 ++-- Src/sysinit/description.txt | 1 + Src/sysinit/version.txt | 1 + Src/xz/authors.txt | 5 + Src/xz/description.txt | 1 + Src/xz/version.txt | 1 + packages/HyperionOS.pkg => bootstrap/vm.lua | 0 compile.py | 196 +++++++++++++ installers/HyperionOS-install-cct.lua | 233 --------------- packages/Hyperion-core.pkg | 12 + packages/Hyperion-firmware-ac.pkg | 13 + packages/Hyperion-firmware-ccpc.pkg | 12 + packages/Hyperion-firmware-cct.pkg | 12 + packages/Hyperion-firmware-oc.pkg | 11 + packages/Hyperion-kernel.pkg | 13 + packages/bit32.pkg | 12 + packages/blake2s.pkg | 12 + packages/coreutils.pkg | 13 + packages/deflate.pkg | 12 + packages/gfxterm.pkg | 12 + packages/hysh.pkg | 12 + packages/iniparse.pkg | 12 + packages/installer.pkg | 12 + packages/json.pkg | 12 + packages/lua.pkg | 12 + packages/micro.pkg | 12 + packages/minify.pkg | 13 + packages/pid.pkg | 12 + packages/raw/Hyperion-core.tar.gz | Bin 0 -> 2885 bytes packages/raw/Hyperion-firmware-ac.tar.gz | Bin 0 -> 3179 bytes packages/raw/Hyperion-firmware-ccpc.tar.gz | Bin 0 -> 8960 bytes packages/raw/Hyperion-firmware-cct.tar.gz | Bin 0 -> 11467 bytes packages/raw/Hyperion-firmware-oc.tar.gz | Bin 0 -> 1026 bytes packages/raw/Hyperion-kernel.tar.gz | Bin 0 -> 34243 bytes packages/raw/bit32.tar.gz | Bin 0 -> 1170 bytes packages/raw/blake2s.tar.gz | Bin 0 -> 1649 bytes packages/raw/coreutils.tar.gz | Bin 0 -> 7735 bytes packages/raw/deflate.tar.gz | Bin 0 -> 29626 bytes packages/raw/gfxterm.tar.gz | Bin 0 -> 2537 bytes packages/raw/hysh.tar.gz | Bin 0 -> 27923 bytes packages/raw/iniparse.tar.gz | Bin 0 -> 842 bytes packages/raw/installer.tar.gz | Bin 0 -> 521 bytes packages/raw/json.tar.gz | Bin 0 -> 3587 bytes packages/raw/lua.tar.gz | Bin 0 -> 2995 bytes packages/raw/micro.tar.gz | Bin 0 -> 3989 bytes packages/raw/minify.tar.gz | Bin 0 -> 16379 bytes packages/raw/pid.tar.gz | Bin 0 -> 1370 bytes packages/raw/spm.tar.gz | Bin 0 -> 1072 bytes packages/raw/sysinit.tar.gz | Bin 0 -> 1335 bytes packages/raw/xz.tar.gz | Bin 0 -> 11353 bytes packages/spm.pkg | 20 +- packages/sysinit.pkg | 12 + packages/xz.pkg | 15 + spm.json | 50 ++-- 130 files changed, 1128 insertions(+), 635 deletions(-) create mode 100644 Src/Hyperion-core/authors.txt create mode 100644 Src/Hyperion-core/data/bin/httptest create mode 100644 Src/Hyperion-core/description.txt create mode 100644 Src/Hyperion-core/version.txt create mode 100644 Src/Hyperion-firmware-ac/authors.txt create mode 100644 Src/Hyperion-firmware-ac/description.txt create mode 100644 Src/Hyperion-firmware-ac/version.txt create mode 100644 Src/Hyperion-firmware-ccpc/authors.txt create mode 100644 Src/Hyperion-firmware-ccpc/description.txt create mode 100644 Src/Hyperion-firmware-ccpc/version.txt create mode 100644 Src/Hyperion-firmware-cct/authors.txt create mode 100644 Src/Hyperion-firmware-cct/description.txt create mode 100644 Src/Hyperion-firmware-cct/version.txt create mode 100644 Src/Hyperion-firmware-oc/authors.txt create mode 100644 Src/Hyperion-firmware-oc/description.txt create mode 100644 Src/Hyperion-firmware-oc/version.txt create mode 100644 Src/Hyperion-kernel/authors.txt delete mode 100644 Src/Hyperion-kernel/data/lib/modules/hyperion/91_login.kmod create mode 100644 Src/Hyperion-kernel/description.txt create mode 100644 Src/Hyperion-kernel/version.txt create mode 100644 Src/bit32/authors.txt create mode 100644 Src/bit32/description.txt create mode 100644 Src/bit32/version.txt create mode 100644 Src/blake2s/authors.txt create mode 100644 Src/blake2s/description.txt create mode 100644 Src/blake2s/version.txt create mode 100644 Src/coreutils/authors.txt create mode 100644 Src/coreutils/data/etc/sysinit/autorun/login create mode 100644 Src/coreutils/description.txt create mode 100644 Src/coreutils/version.txt create mode 100644 Src/deflate/authors.txt create mode 100644 Src/deflate/description.txt create mode 100644 Src/deflate/version.txt create mode 100644 Src/gfxterm/authors.txt create mode 100644 Src/gfxterm/data/usr/local/share/fonts/default8x9.psf create mode 100644 Src/gfxterm/description.txt create mode 100644 Src/gfxterm/version.txt create mode 100644 Src/hysh/authors.txt create mode 100644 Src/hysh/description.txt create mode 100644 Src/hysh/version.txt create mode 100644 Src/iniparse/authors.txt create mode 100644 Src/iniparse/description.txt create mode 100644 Src/iniparse/version.txt delete mode 100644 Src/install.json create mode 100644 Src/installer/authors.txt create mode 100644 Src/installer/description.txt create mode 100644 Src/installer/version.txt create mode 100644 Src/json/authors.txt create mode 100644 Src/json/description.txt create mode 100644 Src/json/version.txt create mode 100644 Src/lua/authors.txt create mode 100644 Src/lua/description.txt create mode 100644 Src/lua/version.txt create mode 100644 Src/micro/authors.txt create mode 100644 Src/micro/description.txt create mode 100644 Src/micro/version.txt create mode 100644 Src/minify/authors.txt create mode 100644 Src/minify/description.txt create mode 100644 Src/minify/version.txt create mode 100644 Src/pid/authors.txt create mode 100644 Src/pid/description.txt create mode 100644 Src/pid/version.txt create mode 100644 Src/spm/authors.txt create mode 100644 Src/spm/description.txt create mode 100644 Src/spm/version.txt create mode 100644 Src/sysinit/authors.txt create mode 100644 Src/sysinit/description.txt create mode 100644 Src/sysinit/version.txt create mode 100644 Src/xz/authors.txt create mode 100644 Src/xz/description.txt create mode 100644 Src/xz/version.txt rename packages/HyperionOS.pkg => bootstrap/vm.lua (100%) create mode 100644 compile.py delete mode 100644 installers/HyperionOS-install-cct.lua create mode 100644 packages/Hyperion-firmware-ac.pkg create mode 100644 packages/Hyperion-firmware-ccpc.pkg create mode 100644 packages/Hyperion-firmware-oc.pkg create mode 100644 packages/bit32.pkg create mode 100644 packages/blake2s.pkg create mode 100644 packages/coreutils.pkg create mode 100644 packages/deflate.pkg create mode 100644 packages/gfxterm.pkg create mode 100644 packages/hysh.pkg create mode 100644 packages/iniparse.pkg create mode 100644 packages/installer.pkg create mode 100644 packages/json.pkg create mode 100644 packages/lua.pkg create mode 100644 packages/micro.pkg create mode 100644 packages/minify.pkg create mode 100644 packages/pid.pkg create mode 100644 packages/raw/Hyperion-core.tar.gz create mode 100644 packages/raw/Hyperion-firmware-ac.tar.gz create mode 100644 packages/raw/Hyperion-firmware-ccpc.tar.gz create mode 100644 packages/raw/Hyperion-firmware-cct.tar.gz create mode 100644 packages/raw/Hyperion-firmware-oc.tar.gz create mode 100644 packages/raw/Hyperion-kernel.tar.gz create mode 100644 packages/raw/bit32.tar.gz create mode 100644 packages/raw/blake2s.tar.gz create mode 100644 packages/raw/coreutils.tar.gz create mode 100644 packages/raw/deflate.tar.gz create mode 100644 packages/raw/gfxterm.tar.gz create mode 100644 packages/raw/hysh.tar.gz create mode 100644 packages/raw/iniparse.tar.gz create mode 100644 packages/raw/installer.tar.gz create mode 100644 packages/raw/json.tar.gz create mode 100644 packages/raw/lua.tar.gz create mode 100644 packages/raw/micro.tar.gz create mode 100644 packages/raw/minify.tar.gz create mode 100644 packages/raw/pid.tar.gz create mode 100644 packages/raw/spm.tar.gz create mode 100644 packages/raw/sysinit.tar.gz create mode 100644 packages/raw/xz.tar.gz create mode 100644 packages/sysinit.pkg create mode 100644 packages/xz.pkg diff --git a/Src/Hyperion-core/authors.txt b/Src/Hyperion-core/authors.txt new file mode 100644 index 0000000..73c23ff --- /dev/null +++ b/Src/Hyperion-core/authors.txt @@ -0,0 +1,2 @@ +Hyperion +Astronand \ No newline at end of file diff --git a/Src/Hyperion-core/data/bin/httptest b/Src/Hyperion-core/data/bin/httptest new file mode 100644 index 0000000..6f220aa --- /dev/null +++ b/Src/Hyperion-core/data/bin/httptest @@ -0,0 +1,7 @@ +local http=require("http") +local ok,err = xpcall(http.get, debug.traceback, "http://localhost:8000/spm.json") +if not ok then + print(err) +else + print(err.body) +end \ No newline at end of file diff --git a/Src/Hyperion-core/data/lib/http b/Src/Hyperion-core/data/lib/http index d313a9a..820e3c5 100644 --- a/Src/Hyperion-core/data/lib/http +++ b/Src/Hyperion-core/data/lib/http @@ -26,8 +26,7 @@ local function parseUrl(url) end local function buildRequest(req) - local host, path = - parseUrl(req.url) + local host, path = parseUrl(req.url) if not host then return nil, path @@ -75,73 +74,39 @@ local function buildRequest(req) return table.concat(out, "\r\n") end -local function parseResponse(raw) - local headerEnd = - raw:find( - "\r\n\r\n", - 1, - true - ) - - if not headerEnd then - return nil, "EBADMSG" +local function parseResponse(response) + local headerBlock, body = response:match("^(.-)\r\n\r\n(.*)$") + if not headerBlock then + return nil, "invalid HTTP response" end - local headerPart = - raw:sub(1, headerEnd - 1) - - local body = - raw:sub(headerEnd + 4) - - local lines = {} - - for line in headerPart:gmatch("[^\r\n]+") do - lines[#lines + 1] = line - end - - local _, code, msg = - lines[1]:match( - "^(HTTP/%S+)%s+(%d+)%s*(.*)$" - ) - local headers = {} - for i = 2, #lines do - local k, v = - lines[i]:match( - "^([^:]+):%s*(.*)$" - ) + -- Parse status line + local statusLine, rest = headerBlock:match("^(.-)\r\n(.*)$") + if not statusLine then + statusLine = headerBlock + rest = "" + end - if k then - headers[k:lower()] = v + local version, code, message = statusLine:match("^(HTTP/%d+%.%d+)%s+(%d+)%s+(.*)$") + + -- Parse headers + for line in (rest .. "\r\n"):gmatch("(.-)\r\n") do + local key, value = line:match("^([^:]+):%s*(.*)$") + if key then + headers[key:lower()] = value end end return { - code = tonumber(code), - message = msg, - headers = headers, - body = body + code=tonumber(code), + message=message, + headers=headers, + body=body } end -local function readAll(fd) - local out = "" - - while true do - local chunk = - syscall.read(fd, 4096) - - if not chunk or chunk == "" then - break - end - - out = out .. chunk - end - - return out -end - function http.request(req) local raw, err = buildRequest(req) @@ -151,34 +116,50 @@ function http.request(req) end local fd = - syscall.socket(0, 0) + syscall.socket() if not fd then return nil, "ESOCKET" end - local ok, err = - syscall.connect(fd, req.url) + local host, path = parseUrl(req.url) + + if not host then + syscall.close(fd) + return nil, path + end + + local proto = req.url:match("^(https?://)") + + local base = proto .. host + + local ok, err = syscall.connect(fd, base) if not ok then syscall.close(fd) return nil, err end - local ok2, err2 = - syscall.write(fd, raw) + local ok2, err2 = syscall.write(fd, raw) if not ok2 then syscall.close(fd) return nil, err2 end - local resp = - readAll(fd) + local out = {} + + while true do + local chunk = syscall.read(fd, 4096) + if chunk == "" then + break + end + + out[#out+1] = chunk + end syscall.close(fd) - - return parseResponse(resp) + return parseResponse(table.concat(out)) end function http.get(url, headers) diff --git a/Src/Hyperion-core/description.txt b/Src/Hyperion-core/description.txt new file mode 100644 index 0000000..ded52f4 --- /dev/null +++ b/Src/Hyperion-core/description.txt @@ -0,0 +1 @@ +Core library for Hyperion \ No newline at end of file diff --git a/Src/Hyperion-core/version.txt b/Src/Hyperion-core/version.txt new file mode 100644 index 0000000..afaf360 --- /dev/null +++ b/Src/Hyperion-core/version.txt @@ -0,0 +1 @@ +1.0.0 \ No newline at end of file diff --git a/Src/Hyperion-firmware-ac/authors.txt b/Src/Hyperion-firmware-ac/authors.txt new file mode 100644 index 0000000..98a48f1 --- /dev/null +++ b/Src/Hyperion-firmware-ac/authors.txt @@ -0,0 +1,3 @@ +Hyperion +Astronand +GHXX (Advanced Computers) \ No newline at end of file diff --git a/Src/Hyperion-firmware-ac/description.txt b/Src/Hyperion-firmware-ac/description.txt new file mode 100644 index 0000000..2ba69f2 --- /dev/null +++ b/Src/Hyperion-firmware-ac/description.txt @@ -0,0 +1 @@ +firmware for Advanced Computers \ No newline at end of file diff --git a/Src/Hyperion-firmware-ac/version.txt b/Src/Hyperion-firmware-ac/version.txt new file mode 100644 index 0000000..afaf360 --- /dev/null +++ b/Src/Hyperion-firmware-ac/version.txt @@ -0,0 +1 @@ +1.0.0 \ No newline at end of file diff --git a/Src/Hyperion-firmware-ccpc/authors.txt b/Src/Hyperion-firmware-ccpc/authors.txt new file mode 100644 index 0000000..73c23ff --- /dev/null +++ b/Src/Hyperion-firmware-ccpc/authors.txt @@ -0,0 +1,2 @@ +Hyperion +Astronand \ No newline at end of file diff --git a/Src/Hyperion-firmware-ccpc/description.txt b/Src/Hyperion-firmware-ccpc/description.txt new file mode 100644 index 0000000..788478d --- /dev/null +++ b/Src/Hyperion-firmware-ccpc/description.txt @@ -0,0 +1 @@ +firmware for CraftOS PC \ No newline at end of file diff --git a/Src/Hyperion-firmware-ccpc/version.txt b/Src/Hyperion-firmware-ccpc/version.txt new file mode 100644 index 0000000..afaf360 --- /dev/null +++ b/Src/Hyperion-firmware-ccpc/version.txt @@ -0,0 +1 @@ +1.0.0 \ No newline at end of file diff --git a/Src/Hyperion-firmware-cct/authors.txt b/Src/Hyperion-firmware-cct/authors.txt new file mode 100644 index 0000000..73c23ff --- /dev/null +++ b/Src/Hyperion-firmware-cct/authors.txt @@ -0,0 +1,2 @@ +Hyperion +Astronand \ No newline at end of file diff --git a/Src/Hyperion-firmware-cct/data/lib/modules/cc-tweaked/22_http.kmod b/Src/Hyperion-firmware-cct/data/lib/modules/cc-tweaked/22_http.kmod index f35b515..0e1fa0e 100644 --- a/Src/Hyperion-firmware-cct/data/lib/modules/cc-tweaked/22_http.kmod +++ b/Src/Hyperion-firmware-cct/data/lib/modules/cc-tweaked/22_http.kmod @@ -9,25 +9,15 @@ kernel.cct.httpqueue = kernel.cct.httpqueue or {} kernel.cct.httpresponse = kernel.cct.httpresponse or {} kernel.cct.httperror = kernel.cct.httperror or {} -local function parseRawRequest(raw) - local sepLen = 4 - - local headerEnd = - raw:find("\r\n\r\n", 1, true) - - if not headerEnd then - headerEnd = - raw:find("\n\n", 1, true) - - sepLen = 2 - end +local function parseRawRequest(raw, address) + local headerEnd = raw:find("\r\n\r\n", 1, true) local headerPart local body = "" if headerEnd then headerPart = raw:sub(1, headerEnd - 1) - body = raw:sub(headerEnd + sepLen) + body = raw:sub(headerEnd + 4) else headerPart = raw end @@ -42,37 +32,25 @@ local function parseRawRequest(raw) return nil, "EINVAL" end - local method, path = - lines[1]:match("^(%S+)%s+(%S+)") - - if not method or not path then - return nil, "EBADMSG" + local split=string.split(lines[1], " ") + if #split~=3 then + return nil, "EINVAL" end + local method, path, ver = table.unpack(split) local headers = {} for i = 2, #lines do - local k, v = - lines[i]:match("^([^:]+):%s*(.*)$") - + local k, v = lines[i]:match("^([^:]+):%s*(.*)$") if k then headers[k] = v end end - local host = headers.Host or headers.host - - if not host and not path:match("^https?://") then - return nil, "EHOSTUNREACH" - end - - local url - - if path:match("^https?://") then - url = path - else - url = "http://" .. host .. path + if path:sub(1,1)~="/" then + return nil, "EINVAL" end + local url = address..path local req = { url = url, @@ -84,7 +62,7 @@ local function parseRawRequest(raw) req.body = body end - return req + return req, url end local function buildResponse(resp) @@ -93,37 +71,19 @@ local function buildResponse(resp) end local code, msg = resp.getResponseCode() - - local headers = - resp:getResponseHeaders() - - local body = - resp:readAll() or "" + local headers = resp.getResponseHeaders() + local body = resp.readAll() or "" + resp.close() local out = { "HTTP/1.1 " .. tostring(code) .. " " .. - tostring(msg) + tostring(msg or "") } - local hasLength = false - - for k, v in pairs(headers or {}) do - if k:lower() == "content-length" then - hasLength = true - end - - out[#out + 1] = - tostring(k) .. - ": " .. - tostring(v) - end - - if not hasLength then - out[#out + 1] = - "Content-Length: " .. - tostring(#body) + for i,v in pairs(headers) do + out[#out+1] = i..": "..v end out[#out + 1] = "" @@ -139,155 +99,91 @@ function handler.connect(fd, address) return nil, "EBADF" end - fdo.socket.rbuf = "" - fdo.socket.closed = false - fdo.socket.httpid = nil - fdo.handle.write = function(raw) - local req, err = - parseRawRequest(raw) + local req, url = parseRawRequest(raw, address) if not req then - return nil, err + return nil, url end - local id = - tostring(kernel.uuid()) - - fdo.socket.httpid = id - - kernel.cct.httpqueue[id] = true - - local ok, err = - http.request(req, id) + kernel.cct.httpqueue[url] = true + local ok, err = http.request(req) if not ok then - kernel.cct.httpqueue[id] = nil + kernel.cct.httpqueue[url] = nil return nil, err end + if fdo.socket.active then + fdo.socket.content=nil + fdo.socket.file.close() + fdo.socket.file=nil + end + fdo.socket.active=true + fdo.socket.url=url return true end fdo.handle.read = function(count) - count = count or 4096 - - local sock = fdo.socket - - if #sock.rbuf > 0 then - local out = - sock.rbuf:sub(1, count) - - sock.rbuf = - sock.rbuf:sub(count + 1) - - return out + if not fdo.socket.active then + return end - local id = sock.httpid - - if not id then - return "" + if not kernel.cct.httpqueue[fdo.socket.url] then + fdo.socket.file=kernel.sfile(buildResponse(kernel.cct.httpresponse[fdo.socket.url])) + kernel.cct.httpqueue[fdo.socket.url]=nil + kernel.cct.httpresponse[fdo.socket.url]=nil end - local function finish(resp) - sock.rbuf = - buildResponse(resp) or "" - - local out = - sock.rbuf:sub(1, count) - - sock.rbuf = - sock.rbuf:sub(count + 1) - - return out - end - - if kernel.cct.httpresponse[id] then - local resp = - kernel.cct.httpresponse[id] - - kernel.cct.httpresponse[id] = nil - kernel.cct.httpqueue[id] = nil - - return finish(resp) - end - - if kernel.cct.httperror[id] then - local err = - kernel.cct.httperror[id] - - kernel.cct.httperror[id] = nil - kernel.cct.httpqueue[id] = nil - - return nil, err - end - - kernel.currentTask.status = "D" - - local coro - - coro = function() - if kernel.cct.httpresponse[id] then - local resp = - kernel.cct.httpresponse[id] - - kernel.cct.httpresponse[id] = nil - kernel.cct.httpqueue[id] = nil - - kernel.asyncReturn( - finish(resp) - ) - - return - end - - if kernel.cct.httperror[id] then - local err = - kernel.cct.httperror[id] - - kernel.cct.httperror[id] = nil - kernel.cct.httpqueue[id] = nil - - kernel.asyncReturn( - nil, - err - ) - - return - end - - coroutine.yield() - end - - kernel.currentTask.ksh = - coroutine.create(function() - local ok, err = - xpcall( - coro, - debug.traceback - ) - - if not ok then - kernel.asyncReturn( - nil, - err - ) + if not fdo.socket.file then + kernel.currentTask.io=function() + if not kernel.cct.httpqueue[fdo.socket.url] then + fdo.socket.file=kernel.sfile(buildResponse(kernel.cct.httpresponse[fdo.socket.url])) + kernel.cct.httpqueue[fdo.socket.url]=nil + kernel.cct.httpresponse[fdo.socket.url]=nil + return fdo.socket.file.read(count) end - end) + end + kernel.currentTask.status="D" + return + else + return fdo.socket.file.read(count) + end + end + + fdo.handle.seek = function(whence, offset) + if not fdo.socket.active then + return + end + + if not kernel.cct.httpqueue[fdo.socket.url] then + fdo.socket.file=kernel.sfile(buildResponse(kernel.cct.httpresponse[fdo.socket.url])) + kernel.cct.httpqueue[fdo.socket.url]=nil + kernel.cct.httpresponse[fdo.socket.url]=nil + end + + if not fdo.socket.file then + kernel.currentTask.io=function() + if not kernel.cct.httpqueue[fdo.socket.url] then + fdo.socket.file=kernel.sfile(buildResponse(kernel.cct.httpresponse[fdo.socket.url])) + kernel.cct.httpqueue[fdo.socket.url]=nil + kernel.cct.httpresponse[fdo.socket.url]=nil + return fdo.socket.file.seek(whence, offset) + end + end + kernel.currentTask.status="D" + return + else + return fdo.socket.file.seek(whence, offset) + end end fdo.handle.close = function() - fdo.socket.closed = true - - local id = - fdo.socket.httpid - - if id then - kernel.cct.httpqueue[id] = nil - kernel.cct.httpresponse[id] = nil - kernel.cct.httperror[id] = nil - end + fdo.socket.file.close() + fdo.socket.active=false + kernel.cct.httpqueue[fdo.socket.url] = nil + kernel.cct.httpresponse[fdo.socket.url] = nil + kernel.cct.httperror[fdo.socket.url] = nil return true end diff --git a/Src/Hyperion-firmware-cct/data/lib/modules/cc-tweaked/30_deamon.kmod b/Src/Hyperion-firmware-cct/data/lib/modules/cc-tweaked/30_deamon.kmod index 551a274..0892e73 100644 --- a/Src/Hyperion-firmware-cct/data/lib/modules/cc-tweaked/30_deamon.kmod +++ b/Src/Hyperion-firmware-cct/data/lib/modules/cc-tweaked/30_deamon.kmod @@ -74,11 +74,16 @@ kernel.processes.cctdeamon = function() kernel.cct.fifo.push("T") end elseif eventType == "http_success" then - kernel.cct.httpqueue[event[2]]=nil - kernel.cct.httpresponse[event[2]]=event[3] + if kernel.cct.httpqueue[event[2]] then + kernel.cct.httpqueue[event[2]]=nil + kernel.cct.httpresponse[event[2]]=event[3] + end elseif eventType == "http_failure" then - kernel.cct.httpqueue[event[2]]=nil - kernel.cct.httperror[event[2]]=event[3] + if kernel.cct.httpqueue[event[2]] then + kernel.cct.httpqueue[event[2]]=nil + kernel.cct.httperror[event[2]]=event[3] + kernel.cct.httpresponse[event[2]]=event[4] + end end timeout = false diff --git a/Src/Hyperion-firmware-cct/description.txt b/Src/Hyperion-firmware-cct/description.txt new file mode 100644 index 0000000..8ed4624 --- /dev/null +++ b/Src/Hyperion-firmware-cct/description.txt @@ -0,0 +1 @@ +firmware for ComputerCraft Tweaked \ No newline at end of file diff --git a/Src/Hyperion-firmware-cct/version.txt b/Src/Hyperion-firmware-cct/version.txt new file mode 100644 index 0000000..589268e --- /dev/null +++ b/Src/Hyperion-firmware-cct/version.txt @@ -0,0 +1 @@ +1.3.0 \ No newline at end of file diff --git a/Src/Hyperion-firmware-oc/authors.txt b/Src/Hyperion-firmware-oc/authors.txt new file mode 100644 index 0000000..4b62d45 --- /dev/null +++ b/Src/Hyperion-firmware-oc/authors.txt @@ -0,0 +1 @@ +Hyperion \ No newline at end of file diff --git a/Src/Hyperion-firmware-oc/description.txt b/Src/Hyperion-firmware-oc/description.txt new file mode 100644 index 0000000..74fbb40 --- /dev/null +++ b/Src/Hyperion-firmware-oc/description.txt @@ -0,0 +1 @@ +firmware for Opencomputers \ No newline at end of file diff --git a/Src/Hyperion-firmware-oc/version.txt b/Src/Hyperion-firmware-oc/version.txt new file mode 100644 index 0000000..6c6aa7c --- /dev/null +++ b/Src/Hyperion-firmware-oc/version.txt @@ -0,0 +1 @@ +0.1.0 \ No newline at end of file diff --git a/Src/Hyperion-kernel/authors.txt b/Src/Hyperion-kernel/authors.txt new file mode 100644 index 0000000..19a2cbd --- /dev/null +++ b/Src/Hyperion-kernel/authors.txt @@ -0,0 +1,3 @@ +Hyperion +Astronand +Spsf \ No newline at end of file diff --git a/Src/Hyperion-kernel/data/boot/kernel.lua b/Src/Hyperion-kernel/data/boot/kernel.lua index d5afe4e..9112e34 100644 --- a/Src/Hyperion-kernel/data/boot/kernel.lua +++ b/Src/Hyperion-kernel/data/boot/kernel.lua @@ -193,6 +193,100 @@ function kernel.newUUID() return uuid end +function kernel.sfile(str, writeable) + local buf = {str or ""} + local pos = 1 + local closed = false + + local function content() + return table.concat(buf) + end + + local function set_content(s) + buf = {s} + end + + local function flush() + str=content() + end + + local file = {} + + function file.read(n) + assert(not closed, "file is closed") + + local s = content() + local len = #s + + if not n then + local out = s:sub(pos) + pos = len + 1 + return out + end + + local out = s:sub(pos, pos + n - 1) + pos = pos + #out + return out + end + + if writeable then + function file.write(data) + assert(not closed, "file is closed") + + local s = content() + local before = s:sub(1, pos - 1) + local after = s:sub(pos + #data) + + set_content(before .. data .. after) + pos = pos + #data + + return true + end + end + + function file.seek(whence, offset) + assert(not closed, "file is closed") + + local s = content() + local len = #s + + whence = whence or "cur" + offset = offset or 0 + + if whence == "set" then + pos = offset + 1 + elseif whence == "cur" then + pos = pos + offset + elseif whence == "end" then + pos = len + offset + 1 + else + error("invalid whence") + end + + if pos < 1 then pos = 1 end + if pos > len + 1 then pos = len + 1 end + + return pos - 1 + end + + function file.close() + assert(not closed, "file is closed") + flush() + closed = true + end + + function file.flush() + assert(not closed, "file is closed") + flush() + end + + function file.content() + return str + end + + return file +end + kernel.syscalls={} local modules={[0]={}} for i=0, 100 do @@ -297,6 +391,7 @@ kernel.syscalls["halt"]=function() end end +kernel.saveLog() kernel.log("Running modules") for _,p in ipairs(modules) do for _,v in ipairs(p) do @@ -310,6 +405,7 @@ for _,p in ipairs(modules) do local status, err = xpcall(func,debug.traceback, kernel) if not status then kernel.panic("ModuRunErr: "..tostring(err)) end if kernel.config.showModLoad then kernel.log("Loaded module "..v, "DBUG", 0x00FFFF) end + if kernel.config.moreLogsaves then kernel.saveLog() end end end diff --git a/Src/Hyperion-kernel/data/lib/modules/hyperion/11_ld.kmod b/Src/Hyperion-kernel/data/lib/modules/hyperion/11_ld.kmod index 302edf0..3909e2a 100644 --- a/Src/Hyperion-kernel/data/lib/modules/hyperion/11_ld.kmod +++ b/Src/Hyperion-kernel/data/lib/modules/hyperion/11_ld.kmod @@ -9,55 +9,39 @@ kernel.reqcache = cache local function require(module, ...) if cache[module] then return cache[module].ret end - kernel.currentTask.status = "D" local args = {...} - kernel.currentTask.ksh = coroutine.create(function() - local coro = function() - for _, path in ipairs(kernel.searchpaths) do - local filepath = path:gsub("?", module) - if kernel.vfs.exists(filepath) then - if kernel.vfs.type(filepath) == "directory" then - filepath = filepath .. "/init.lua" - if kernel.vfs.type(filepath) == "directory" then - kernel.asyncReturn(false, "Module not found: "..module) - return - end - end - - local fd = kernel.vfs.open(filepath, "r") - local chunks = {} - while true do - local chunk = kernel.vfs.read(fd, 4096) - if not chunk or chunk == "" then break end - chunks[#chunks + 1] = chunk - coroutine.yield() - end - kernel.vfs.close(fd) - local data = table.concat(chunks) - local func, err = load(data, "@"..module, "t", kernel._U) - if not func then - kernel.asyncReturn(false, "Error loading module "..module..": "..tostring(err)) - return - end - local ok, ret = xpcall(func, debug.traceback, table.unpack(args)) - if not ok then - kernel.asyncReturn(false, "Error running module "..module..": "..tostring(ret)) - return - end - cache[module] = {ret = ret, expires = kernel.EFI:getEpochMs() + 120000} - kernel.asyncReturn(true, ret) - return + for _, path in ipairs(kernel.searchpaths) do + local filepath = path:gsub("?", module) + if kernel.vfs.exists(filepath) then + if kernel.vfs.type(filepath) == "directory" then + filepath = filepath .. "/init.lua" + if kernel.vfs.type(filepath) == "directory" then + error("Module not found: "..module) end - coroutine.yield() end - kernel.asyncReturn(false, "Module not found: "..module) + local fd = kernel.vfs.open(filepath, "r") + local chunks = {} + while true do + local chunk = kernel.vfs.read(fd, 4096) + if not chunk or chunk == "" then break end + chunks[#chunks + 1] = chunk + end + kernel.vfs.close(fd) + local data = table.concat(chunks) + local func, err = load(data, "@"..module, "t", kernel._U) + if not func then + error("Error loading module "..module..": "..tostring(err)) + end + local ok, ret = xpcall(func, debug.traceback, table.unpack(args)) + if not ok then + error("Error running module "..module..": "..tostring(ret)) + end + cache[module] = {ret = ret, expires = kernel.EFI:getEpochMs() + 120000} + return ret end - local status, err = xpcall(coro, debug.traceback) - if not status then - kernel.asyncReturn(false, "Error in require coroutine for module "..module..": "..tostring(err)) - end - end) + coroutine.yield() + end + error("Module not found: "..module) end -kernel.syscalls["require"] = require -_G.require = function(...) return syscall.require(...) end \ No newline at end of file +_G.require = function(...) return require(...) end \ No newline at end of file diff --git a/Src/Hyperion-kernel/data/lib/modules/hyperion/12_devfs.kmod b/Src/Hyperion-kernel/data/lib/modules/hyperion/12_devfs.kmod index 12121f0..0a01ce5 100644 --- a/Src/Hyperion-kernel/data/lib/modules/hyperion/12_devfs.kmod +++ b/Src/Hyperion-kernel/data/lib/modules/hyperion/12_devfs.kmod @@ -217,7 +217,7 @@ data[".meta"]=strFile(buildMeta({ log="/var/log/syslog.log" })) -if kernel.EFI:getEEPROM() then +if kernel.EFI.getEEPROM then function data.eeprom(op, mode) if op=="type" then return "character device" @@ -255,7 +255,7 @@ if kernel.EFI:getEEPROM() then end end -if kernel.EFI:getNvram() then +if kernel.EFI.getNvram then function data.nvram(op, mode) if op=="type" then return "character device" diff --git a/Src/Hyperion-kernel/data/lib/modules/hyperion/20_socket.kmod b/Src/Hyperion-kernel/data/lib/modules/hyperion/20_socket.kmod index cf70b3c..ab31491 100644 --- a/Src/Hyperion-kernel/data/lib/modules/hyperion/20_socket.kmod +++ b/Src/Hyperion-kernel/data/lib/modules/hyperion/20_socket.kmod @@ -22,7 +22,7 @@ local function getHandler(address) end end -function socket.socket(domain, socktype) +function socket.socket() local fd = kernel.vfs.newfd({ handle = {}, @@ -54,7 +54,7 @@ function socket.socket(domain, socktype) local fdo = kernel.currentTask.fd[fd] fdo.handle.read = function() - return "" + return nil, "ENOTCONN" end fdo.handle.write = function() diff --git a/Src/Hyperion-kernel/data/lib/modules/hyperion/45_hypervisor.kmod b/Src/Hyperion-kernel/data/lib/modules/hyperion/45_hypervisor.kmod index 0985a6d..12cbe09 100644 --- a/Src/Hyperion-kernel/data/lib/modules/hyperion/45_hypervisor.kmod +++ b/Src/Hyperion-kernel/data/lib/modules/hyperion/45_hypervisor.kmod @@ -396,22 +396,16 @@ function kernel.main() end if task.status == "D" then - if task.ksh then - coroutine.resume(task.ksh) - if coroutine.status(task.ksh) == "dead" then - task.ksh = nil - if task.status == "D" then - task.status = "R" - end - - if kernel.config.debugSyscalls then - kernel.log("Task " .. task.pid .. " IO wait completed", "DBUG", 0x00FFFF) - local sysret = task.syscallReturn - for i = 2, #sysret do - local v = type(sysret[i]) == "table" and table.serialize(sysret[i]) or tostring(sysret[i]) - kernel.log(" retval[" .. (i-1) .. "] = " .. v, "DBUG", 0x00FFFF) - end - end + if task.io then + local ret = {xpcall(task.io, debug.traceback)} + if not ret[1] then + task.syscallReturn = {false, table.unpack(ret, 2)} + task.status = "R" + task.io=nil + elseif #ret>1 then + task.syscallReturn = {true, table.unpack(ret, 2)} + task.status = "R" + task.io=nil end end end diff --git a/Src/Hyperion-kernel/data/lib/modules/hyperion/90_init.kmod b/Src/Hyperion-kernel/data/lib/modules/hyperion/90_init.kmod index 1727621..4f623c6 100644 --- a/Src/Hyperion-kernel/data/lib/modules/hyperion/90_init.kmod +++ b/Src/Hyperion-kernel/data/lib/modules/hyperion/90_init.kmod @@ -25,6 +25,7 @@ kernel.tasks["1"] = { else kernel.panic("Init system exited: " .. tostring(err)) end + kernel.saveLog() end), name = "sysinit", diff --git a/Src/Hyperion-kernel/data/lib/modules/hyperion/91_login.kmod b/Src/Hyperion-kernel/data/lib/modules/hyperion/91_login.kmod deleted file mode 100644 index f40d92a..0000000 --- a/Src/Hyperion-kernel/data/lib/modules/hyperion/91_login.kmod +++ /dev/null @@ -1,10 +0,0 @@ ---:Minify:-- -local kernel = ... -if not kernel.vfs.exists("/root") then kernel.vfs.mkdir("/root") end - -kernel.processes.login = function() - local ok, err = pcall(kernel.hpv.execspawn, "/bin/login", "login") - if not ok then - kernel.log("Failed to exec /bin/login: " .. tostring(err), "ERROR", 0xFF0000) - end -end diff --git a/Src/Hyperion-kernel/description.txt b/Src/Hyperion-kernel/description.txt new file mode 100644 index 0000000..1b2c79c --- /dev/null +++ b/Src/Hyperion-kernel/description.txt @@ -0,0 +1 @@ +Hyperion kernel package \ No newline at end of file diff --git a/Src/Hyperion-kernel/version.txt b/Src/Hyperion-kernel/version.txt new file mode 100644 index 0000000..3e1ad72 --- /dev/null +++ b/Src/Hyperion-kernel/version.txt @@ -0,0 +1 @@ +1.5.0 \ No newline at end of file diff --git a/Src/bit32/authors.txt b/Src/bit32/authors.txt new file mode 100644 index 0000000..5788630 --- /dev/null +++ b/Src/bit32/authors.txt @@ -0,0 +1,2 @@ +Hyperion +Lua \ No newline at end of file diff --git a/Src/bit32/description.txt b/Src/bit32/description.txt new file mode 100644 index 0000000..e507ac3 --- /dev/null +++ b/Src/bit32/description.txt @@ -0,0 +1 @@ +Bit32 package for Hyperion \ No newline at end of file diff --git a/Src/bit32/version.txt b/Src/bit32/version.txt new file mode 100644 index 0000000..afaf360 --- /dev/null +++ b/Src/bit32/version.txt @@ -0,0 +1 @@ +1.0.0 \ No newline at end of file diff --git a/Src/blake2s/authors.txt b/Src/blake2s/authors.txt new file mode 100644 index 0000000..73c23ff --- /dev/null +++ b/Src/blake2s/authors.txt @@ -0,0 +1,2 @@ +Hyperion +Astronand \ No newline at end of file diff --git a/Src/blake2s/description.txt b/Src/blake2s/description.txt new file mode 100644 index 0000000..a290ab9 --- /dev/null +++ b/Src/blake2s/description.txt @@ -0,0 +1 @@ +blake2s package for Hyperion \ No newline at end of file diff --git a/Src/blake2s/version.txt b/Src/blake2s/version.txt new file mode 100644 index 0000000..afaf360 --- /dev/null +++ b/Src/blake2s/version.txt @@ -0,0 +1 @@ +1.0.0 \ No newline at end of file diff --git a/Src/coreutils/authors.txt b/Src/coreutils/authors.txt new file mode 100644 index 0000000..19a2cbd --- /dev/null +++ b/Src/coreutils/authors.txt @@ -0,0 +1,3 @@ +Hyperion +Astronand +Spsf \ No newline at end of file diff --git a/Src/coreutils/data/etc/sysinit/autorun/login b/Src/coreutils/data/etc/sysinit/autorun/login new file mode 100644 index 0000000..51b9c86 --- /dev/null +++ b/Src/coreutils/data/etc/sysinit/autorun/login @@ -0,0 +1,169 @@ +--:Minify:-- +syscall.open("/dev/input/keyboard1", "r") --stdin (fd 0) +syscall.open("/dev/tty/1", "w") --stdout (fd 1) +syscall.open("/dev/null", "w") --stderr (fd 2) + + +local MAX_ATTEMPTS = 3 + +local function readLine(mask) + local input = "" + while true do + local ch = syscall.read(0) + if not ch or ch == "" then + elseif ch == "\n" then + syscall.write(1, "\n") + return input + elseif ch == "\b" then + if #input > 0 then + input = input:sub(1, -2) + syscall.write(1, "\b \b") + end + else + input = input .. ch + syscall.write(1, mask or ch) + end + end +end + +local function firstBoot() + local shadow = "" + local _fd, _fderr = pcall(function() + local fd = syscall.open("/etc/shadow", "r") + shadow = syscall.read(fd, 65535) or "" + syscall.close(fd) + end) + if shadow:match("%S") then return end + + syscall.devctl(1, "clear") + syscall.devctl(1, "spos", 1, 1) + syscall.devctl(1, "sfgc", 0x00FF00) + syscall.write(1, "HyperionOS First Boot Setup\n") + syscall.devctl(1, "sfgc", 0xFFFFFF) + syscall.write(1, "No root password is set. Please create one now.\n\n") + + while true do + syscall.write(1, "New root password: ") + local pw1 = readLine("*") + syscall.write(1, "Confirm password: ") + local pw2 = readLine("*") + + if pw1 ~= pw2 then + syscall.devctl(1, "sfgc", 0xFF0000) + syscall.write(1, "Passwords do not match. Try again.\n\n") + syscall.devctl(1, "sfgc", 0xFFFFFF) + elseif #pw1 < 6 then + syscall.devctl(1, "sfgc", 0xFF0000) + syscall.write(1, "Password too short (minimum 6 characters).\n\n") + syscall.devctl(1, "sfgc", 0xFFFFFF) + else + local ok, err = syscall.setpassword(0, pw1) + if ok then + syscall.devctl(1, "sfgc", 0x00FF00) + syscall.write(1, "Root password set.\n\n") + syscall.devctl(1, "sfgc", 0xFFFFFF) + sleep(0.5) + break + else + syscall.devctl(1, "sfgc", 0xFF0000) + syscall.write(1, "Error: " .. tostring(err) .. "\n") + syscall.devctl(1, "sfgc", 0xFFFFFF) + end + end + end +end + +local function spawnShell(username, uid, shell, homedir) + local existsOk, existsErr = pcall(syscall.exists, shell) + if not existsOk or not existsErr then + syscall.write(1, "login: shell not found: " .. shell .. "\n") + sleep(2) + return false + end + + local accessOk, accessErr = pcall(syscall.access, shell, "rx") + + syscall.setEnviron("HOME", homedir) + syscall.setEnviron("USER", username) + syscall.setEnviron("SHELL", shell) + syscall.setEnviron("PATH", "/bin/") + + local setuidOk, setuidErr = pcall(syscall.setuid, uid) + if not setuidOk then + syscall.write(1, "login: setuid failed: " .. tostring(setuidErr) .. "\n") + sleep(2) + return false + end + + local chdirOk, chdirErr = pcall(syscall.chdir, homedir) + if not chdirOk then + pcall(syscall.chdir, "/") + end + + local ok, err = pcall(syscall.execspawn, shell, username .. ":shell") + if not ok then + syscall.write(1, "login: failed to launch shell: " .. tostring(err) .. "\n") + sleep(2) + return false + end + + syscall.exit(0) +end + +local function doLogin() + syscall.devctl(1, "clear") + syscall.devctl(1, "sfgc", 0xFFFFFF) + syscall.devctl(1, "sbgc", 0x000000) + syscall.devctl(1, "spos", 1, 1) + + local hostname = syscall.getHostname() or "hyperion" + syscall.write(1, "HyperionOS\n") + syscall.write(1, hostname .. " login\n\n") + + local attempts = 0 + while attempts < MAX_ATTEMPTS do + syscall.devctl(1, "sfgc", 0xFFFFFF) + syscall.write(1, "Username: ") + local username = readLine(nil) + + if username ~= "" then + + syscall.write(1, "Password: ") + local password = readLine("*") + local uid = syscall.getuidbyname(username) + + local ok, err = syscall.login(uid, password) + if ok then + local uid = syscall.getuid() + local pwent = syscall.getpasswd(uid) + + local shell = (pwent and pwent.shell) or "/bin/hysh" + local homedir = (pwent and pwent.homedir) or "/" + + syscall.devctl(1, "sfgc", 0x00FF00) + syscall.write(1, "\nWelcome, " .. username .. "!\n") + syscall.devctl(1, "sfgc", 0xFFFFFF) + sleep(0.3) + + spawnShell(username, uid, shell, homedir) + return -- back to login prompt + else + attempts = attempts + 1 + sleep(1) + syscall.devctl(1, "sfgc", 0xFF0000) + syscall.write(1, "Login incorrect.\n\n") + syscall.devctl(1, "sfgc", 0xFFFFFF) + end + end + end + + syscall.devctl(1, "sfgc", 0xFF0000) + syscall.write(1, "Maximum login attempts exceeded.\n") + syscall.devctl(1, "sfgc", 0xFFFFFF) + sleep(5) +end + +firstBoot() +while true do + doLogin() +end diff --git a/Src/coreutils/description.txt b/Src/coreutils/description.txt new file mode 100644 index 0000000..3dee00c --- /dev/null +++ b/Src/coreutils/description.txt @@ -0,0 +1 @@ +core utilities for user management \ No newline at end of file diff --git a/Src/coreutils/version.txt b/Src/coreutils/version.txt new file mode 100644 index 0000000..afaf360 --- /dev/null +++ b/Src/coreutils/version.txt @@ -0,0 +1 @@ +1.0.0 \ No newline at end of file diff --git a/Src/deflate/authors.txt b/Src/deflate/authors.txt new file mode 100644 index 0000000..256705f --- /dev/null +++ b/Src/deflate/authors.txt @@ -0,0 +1,2 @@ +Hyperion +Haoqian He \ No newline at end of file diff --git a/Src/deflate/description.txt b/Src/deflate/description.txt new file mode 100644 index 0000000..c547c28 --- /dev/null +++ b/Src/deflate/description.txt @@ -0,0 +1 @@ +Libdeflate for Hyperion \ No newline at end of file diff --git a/Src/deflate/version.txt b/Src/deflate/version.txt new file mode 100644 index 0000000..9bfe78d --- /dev/null +++ b/Src/deflate/version.txt @@ -0,0 +1 @@ +1.0.0-release \ No newline at end of file diff --git a/Src/gfxterm/authors.txt b/Src/gfxterm/authors.txt new file mode 100644 index 0000000..73c23ff --- /dev/null +++ b/Src/gfxterm/authors.txt @@ -0,0 +1,2 @@ +Hyperion +Astronand \ No newline at end of file diff --git a/Src/gfxterm/data/usr/local/share/fonts/default8x9.psf b/Src/gfxterm/data/usr/local/share/fonts/default8x9.psf new file mode 100644 index 0000000000000000000000000000000000000000..a383fa251f6179b360bc01ae5840c044e20bd1f9 GIT binary patch literal 3358 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 then - sel=sel-1 - end - elseif key==keys.enter then - m[sel].func() - elseif key==keys.tab then - desc(m[sel].desc) - elseif key==keys.backspace then - exit=true - end - end -end - -local releases,page={},1 -while true do - local raw=download("https://git.astronand.dev/api/v1/repos/Hyperion/HyperionOS/releases?page="..tostring(page).."&limit=1") - if raw=="[]\n" then - break - end - releases[page]=json.decode(raw)[1] - page=page+1 -end - -local function makePage(start, num) - local m={} - for i=start, num do - if not releases[i] then break end - local release=releases[i] - m[#m+1]={ - name=release.name, - desc=release.body, - color=release.prerelease and colors.orange or colors.white, - func=function() - term.clear() - term.setCursorPos(1,1) - local data=download("https://git.astronand.dev/Hyperion/HyperionOS/raw/tag/"..release.tag_name.."/Src/install.json") - if not data then - term.clear() - term.setCursorPos(1,1) - print("Unable to find package list for ver "..release.tag_name..":\n"..err) - sleep(3) - return - end - releasename=release.tag_name - packagelist=json.decode(data) - exitall=true - end - } - end - if #releases>start+num then - m[#m+1]={ - name="Next", - desc="Next menu", - color=colors.cyan, - func=function() - local menudata=makePage(start+num, num) - menu(menudata) - end - } - end - return m -end - -printTitle() -menu(makePage(1,5)) -if not exitall then error("Exited") end -term.clear() -term.setCursorPos(1,1) -term.setTextColor(colors.white) -term.write("Formating disk in ") -for i=5, 1, -1 do - term.write(tostring(i)) - sleep(.25) - for v=1, 3 do - term.write(".") - sleep(.25) - end -end -print("") - -local function delDir(dir) - printc(colors.gray, "[ ", colors.green, " LSDIR ", colors.gray, " ] ", colors.white, dir) - local list=fs.list(dir) - printc(colors.gray, "[ ", colors.red, " DELET ", colors.gray, " ] ", colors.white, dir) - for i=1, #list do - if fs.isDir(dir..list[i]) then - if dir..list[i] ~= "/rom" then - delDir(dir..list[i].."/") - fs.delete(dir..list[i]) - end - else - fs.delete(dir..list[i]) - printc(colors.gray, "[ ", colors.red, " DELET ", colors.gray, " ] ", colors.white, dir..list[i]) - end - sleep(.01) - end - sleep(.15) -end - -delDir("/") - -print("") -printc(colors.cyan, " \\\\Installing//") -print("") -printc(colors.white, "Getting package list...") - -local function installdir(path, dir, pkg) - local data=json.decode(download("https://git.astronand.dev/api/v1/repos/Hyperion/HyperionOS/contents/prod/"..pkg..dir.."?ref="..releasename)) - if not data then error("Uh Oh: JSON decode error...") end - for i=1, #data do - local entry=data[i] - if entry.type == "dir" then - installdir(path, dir..entry.name.."/", pkg) - elseif entry.type == "file" then - writeFile(path..dir..entry.name, download(entry.download_url)) - else - error("Uh Oh: unknown entrytype "..entry.path) - end - sleep(.01) - end - sleep(.15) -end - -local function installpkg(pkg) - installdir("/$", "/", pkg) -end - -for i=1, #packagelist do - installpkg(packagelist[i]) -end - -installpkg("Hyperion-firmware-cct") -fs.copy("/$/boot/cct/eeprom", "/startup.lua") - -printc(colors.white, "Rebooting...") -sleep(1) -os.reboot() \ No newline at end of file diff --git a/packages/Hyperion-core.pkg b/packages/Hyperion-core.pkg index e69de29..6936838 100644 --- a/packages/Hyperion-core.pkg +++ b/packages/Hyperion-core.pkg @@ -0,0 +1,12 @@ +{ + "id": "Hyperion-core", + "description": "Core library for Hyperion", + "authors": [ + "Hyperion", + "Astronand" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "e83a8dc42a871c1e16cd56c214cf0ca4bb0079432dc8bd198abbe11d6cf31d4e", + "tarball": "http://localhost:8000/packages/raw/Hyperion-core.tar.xz" +} diff --git a/packages/Hyperion-firmware-ac.pkg b/packages/Hyperion-firmware-ac.pkg new file mode 100644 index 0000000..e03bae2 --- /dev/null +++ b/packages/Hyperion-firmware-ac.pkg @@ -0,0 +1,13 @@ +{ + "id": "Hyperion-firmware-ac", + "description": "firmware for Advanced Computers", + "authors": [ + "Hyperion", + "Astronand", + "GHXX (Advanced Computers)" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "f64be830fc02394eeb9c049a528ed47b97430c6682a577c789d16303dcaad6fc", + "tarball": "http://localhost:8000/packages/raw/Hyperion-firmware-ac.tar.xz" +} diff --git a/packages/Hyperion-firmware-ccpc.pkg b/packages/Hyperion-firmware-ccpc.pkg new file mode 100644 index 0000000..8c3402a --- /dev/null +++ b/packages/Hyperion-firmware-ccpc.pkg @@ -0,0 +1,12 @@ +{ + "id": "Hyperion-firmware-ccpc", + "description": "firmware for CraftOS PC", + "authors": [ + "Hyperion", + "Astronand" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "f3f030d6f6faa137f9950f0ce4ccc598a9b29c729380c100c920fad5aa254076", + "tarball": "http://localhost:8000/packages/raw/Hyperion-firmware-ccpc.tar.xz" +} diff --git a/packages/Hyperion-firmware-cct.pkg b/packages/Hyperion-firmware-cct.pkg index e69de29..cbb3640 100644 --- a/packages/Hyperion-firmware-cct.pkg +++ b/packages/Hyperion-firmware-cct.pkg @@ -0,0 +1,12 @@ +{ + "id": "Hyperion-firmware-cct", + "description": "firmware for ComputerCraft Tweaked", + "authors": [ + "Hyperion", + "Astronand" + ], + "dependencies": [], + "version": "1.3.0", + "hash": "dd69c26ba6f46acb99d6f839474fc50283524bd99df7f67a5d300a749af86dde", + "tarball": "http://localhost:8000/packages/raw/Hyperion-firmware-cct.tar.xz" +} diff --git a/packages/Hyperion-firmware-oc.pkg b/packages/Hyperion-firmware-oc.pkg new file mode 100644 index 0000000..2fafce2 --- /dev/null +++ b/packages/Hyperion-firmware-oc.pkg @@ -0,0 +1,11 @@ +{ + "id": "Hyperion-firmware-oc", + "description": "firmware for Opencomputers", + "authors": [ + "Hyperion" + ], + "dependencies": [], + "version": "0.1.0", + "hash": "8b1bbff272dd07f0e5023c90007ec8d3a84f5b29a59449a75894319c86ee10cd", + "tarball": "http://localhost:8000/packages/raw/Hyperion-firmware-oc.tar.xz" +} diff --git a/packages/Hyperion-kernel.pkg b/packages/Hyperion-kernel.pkg index e69de29..8a5e571 100644 --- a/packages/Hyperion-kernel.pkg +++ b/packages/Hyperion-kernel.pkg @@ -0,0 +1,13 @@ +{ + "id": "Hyperion-kernel", + "description": "Hyperion kernel package", + "authors": [ + "Hyperion", + "Astronand", + "Spsf" + ], + "dependencies": [], + "version": "1.5.0", + "hash": "a17552597f1a4e661804bcf23d26e19664cb6f75cb3058357603df59b033155a", + "tarball": "http://localhost:8000/packages/raw/Hyperion-kernel.tar.xz" +} diff --git a/packages/bit32.pkg b/packages/bit32.pkg new file mode 100644 index 0000000..781736f --- /dev/null +++ b/packages/bit32.pkg @@ -0,0 +1,12 @@ +{ + "id": "bit32", + "description": "Bit32 package for Hyperion", + "authors": [ + "Hyperion", + "Lua" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "9bc32da8ab97f899e85faeb47064433ef4a167e45924c0e583d30f901551bdf5", + "tarball": "http://localhost:8000/packages/raw/bit32.tar.xz" +} diff --git a/packages/blake2s.pkg b/packages/blake2s.pkg new file mode 100644 index 0000000..a085084 --- /dev/null +++ b/packages/blake2s.pkg @@ -0,0 +1,12 @@ +{ + "id": "blake2s", + "description": "blake2s package for Hyperion", + "authors": [ + "Hyperion", + "Astronand" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "c32e2bbeba5d8609f720bce59fad0505d490ee22a6e54b4d830a524e609ac415", + "tarball": "http://localhost:8000/packages/raw/blake2s.tar.xz" +} diff --git a/packages/coreutils.pkg b/packages/coreutils.pkg new file mode 100644 index 0000000..7a48f19 --- /dev/null +++ b/packages/coreutils.pkg @@ -0,0 +1,13 @@ +{ + "id": "coreutils", + "description": "core utilities for user management", + "authors": [ + "Hyperion", + "Astronand", + "Spsf" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "c52244c7fd2ca96780ed684327ebb55872757a4f6c8d90e18367ec4e0d8f10ad", + "tarball": "http://localhost:8000/packages/raw/coreutils.tar.xz" +} diff --git a/packages/deflate.pkg b/packages/deflate.pkg new file mode 100644 index 0000000..1b2b954 --- /dev/null +++ b/packages/deflate.pkg @@ -0,0 +1,12 @@ +{ + "id": "deflate", + "description": "Libdeflate for Hyperion", + "authors": [ + "Hyperion", + "Haoqian He" + ], + "dependencies": [], + "version": "1.0.0-release", + "hash": "43a3df0e6da39aa97c0ee0ce4217e9acffadba4178d03dae5c66bf4627147644", + "tarball": "http://localhost:8000/packages/raw/deflate.tar.xz" +} diff --git a/packages/gfxterm.pkg b/packages/gfxterm.pkg new file mode 100644 index 0000000..b9370a7 --- /dev/null +++ b/packages/gfxterm.pkg @@ -0,0 +1,12 @@ +{ + "id": "gfxterm", + "description": "package providing kernel support for framebuffers and graphics", + "authors": [ + "Hyperion", + "Astronand" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "88eb9f9bb7bb86fb7752601c67e4ab62e88fb7562057a83c101aaf7ffc3ccdc0", + "tarball": "http://localhost:8000/packages/raw/gfxterm.tar.xz" +} diff --git a/packages/hysh.pkg b/packages/hysh.pkg new file mode 100644 index 0000000..ecf2170 --- /dev/null +++ b/packages/hysh.pkg @@ -0,0 +1,12 @@ +{ + "id": "hysh", + "description": "Official Hyperion shell package", + "authors": [ + "Hyperion", + "Spsf" + ], + "dependencies": [], + "version": "1.3.0", + "hash": "d0baaeb889eeaa38a9f100c4954b8f30c36c220ba73d8b8fa878e0fcaeaadb15", + "tarball": "http://localhost:8000/packages/raw/hysh.tar.xz" +} diff --git a/packages/iniparse.pkg b/packages/iniparse.pkg new file mode 100644 index 0000000..e8af038 --- /dev/null +++ b/packages/iniparse.pkg @@ -0,0 +1,12 @@ +{ + "id": "iniparse", + "description": "ini parser", + "authors": [ + "Hyperion", + "Astronand" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "f26f900027066dc2f498a4ccb8306f48c93210e7869b11f4aef9900f2e00e066", + "tarball": "http://localhost:8000/packages/raw/iniparse.tar.xz" +} diff --git a/packages/installer.pkg b/packages/installer.pkg new file mode 100644 index 0000000..3e0ce3c --- /dev/null +++ b/packages/installer.pkg @@ -0,0 +1,12 @@ +{ + "id": "installer", + "description": "Hyperion os live installer", + "authors": [ + "Hyperion", + "Astronand" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "8623a44260062d0066aecc683b45c2ea9e6f438fd74cef050e7bcac7daa33a4f", + "tarball": "http://localhost:8000/packages/raw/installer.tar.xz" +} diff --git a/packages/json.pkg b/packages/json.pkg new file mode 100644 index 0000000..4655b87 --- /dev/null +++ b/packages/json.pkg @@ -0,0 +1,12 @@ +{ + "id": "json", + "description": "JSON library for Hyperion", + "authors": [ + "Hyperion", + "rxi" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "8344035d687f5cafb8c918d6bddd2ba5a7d6c2025aa43def84b942a614583282", + "tarball": "http://localhost:8000/packages/raw/json.tar.xz" +} diff --git a/packages/lua.pkg b/packages/lua.pkg new file mode 100644 index 0000000..1a0dd6d --- /dev/null +++ b/packages/lua.pkg @@ -0,0 +1,12 @@ +{ + "id": "lua", + "description": "Interactive lua shell", + "authors": [ + "Hyperion", + "Spsf" + ], + "dependencies": [], + "version": "1.2.0", + "hash": "69978317dbe981a50aa3194ed68d35bbd4d1e87ba03191aa7b3574712861e54c", + "tarball": "http://localhost:8000/packages/raw/lua.tar.xz" +} diff --git a/packages/micro.pkg b/packages/micro.pkg new file mode 100644 index 0000000..e7b67cf --- /dev/null +++ b/packages/micro.pkg @@ -0,0 +1,12 @@ +{ + "id": "micro", + "description": "micro text editor", + "authors": [ + "Hyperion", + "Spsf" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "20619f7885c20cef538842ad1a958dd5dfbd9a3542997acd7de91f89e57e32db", + "tarball": "http://localhost:8000/packages/raw/micro.tar.xz" +} diff --git a/packages/minify.pkg b/packages/minify.pkg new file mode 100644 index 0000000..7c1c9b4 --- /dev/null +++ b/packages/minify.pkg @@ -0,0 +1,13 @@ +{ + "id": "minify", + "description": "lua minifier", + "authors": [ + "Hyperion", + "Mark Langen", + "Astronand (added goto support)" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "bbbc1c2137b76aec328bf8cc0d246f852af35943175fbcd8e1bf55fc9348e4ba", + "tarball": "http://localhost:8000/packages/raw/minify.tar.xz" +} diff --git a/packages/pid.pkg b/packages/pid.pkg new file mode 100644 index 0000000..1309634 --- /dev/null +++ b/packages/pid.pkg @@ -0,0 +1,12 @@ +{ + "id": "pid", + "description": "Proportional Integral Derivative library", + "authors": [ + "Hyperion", + "Astronand" + ], + "dependencies": [], + "version": "1.0.0", + "hash": "b1941d2a2699774ab94886d866198219608544f63bee6cf2f059d5b1ed9c86e8", + "tarball": "http://localhost:8000/packages/raw/pid.tar.xz" +} diff --git a/packages/raw/Hyperion-core.tar.gz b/packages/raw/Hyperion-core.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8f353f4885ce562d91b555878804f6bf1929e7ec GIT binary patch literal 2885 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 literal 0 HcmV?d00001 diff --git a/packages/raw/Hyperion-firmware-ac.tar.gz b/packages/raw/Hyperion-firmware-ac.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e56edb5f10ce44df6e1f27b36a37f239b27adc38 GIT binary patch literal 3179 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 literal 0 HcmV?d00001 diff --git a/packages/raw/Hyperion-firmware-ccpc.tar.gz b/packages/raw/Hyperion-firmware-ccpc.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..699a5f74b732358b50c1d43504109495a0cbb5a5 GIT binary patch literal 8960 zcmb2|=HO_FNXlaR?@?KhT9lcer<;~plv|!yl&YJYT#&3+l32v>wl=%`w#BA|`fu?! z^!L0ux%1MNGcR(jtzQ}Y$&?qVzf2MSe&*)aA2&o;BXhi$v@OYb{j93)cbF)H5QAf+ z-zCrUEjE@LITmn*vMyNlLE}R88{2=MqyK+n{j9F@^PPF+tv@S&-Ol^|>uA2u`z^cY zzAHcXwmkkp_sLyF-=F^Pwu@W)Kl^X|i~n`o?|=UF`|h`d_2IAo=ZF9Qy*fus zedYAKY4g+n@c;gs_4oc;ufO--es%m`e*5pc2iD8~sviGuzUqJK@AoqQsy~I>Z~eRe z?fH!lzkbR8?`+ju|NX!A^}j{m=Hv4-|JZx{FTefPas9RbTmP;9`ak^A|KHW@)gX5L zw;#qi?6ocb?n__$wI3w^KkL_i<2&oW*025F`tNxBy_%=>e}1gL_x~kdyXxQjZ@<6# zJ753Pn|F4VvThGc{-%_dr^~VbyHok=+1ZmnFYcaRUt9O@+lMEu#zj){Hs^O|&nr7O z$D;7g@%n=Dvhwo(Hk^M?Yxr$8C{Rm$)&D%lJZbyQcQ!pYgwsWRZ-~_SmgztLcw;{I z8%b}m2BH5QQ!HA)TZrag4i!ncpg4E7%9#jd=9aUv>~iyJZx>x-y0bgw=H}2z$4=h1 z$X(Hz7j@1@^NZb|e72t<30yoa6Ru}k-dD~`7YeRolo5E6`%NXbS32=DC##CxLy^ty zeZRk-DBUF4{Yj=~!iKG%n=fAs%HO!nruA%aSi(u2h?W_D3@7n!sP)d<^@X`DY4Xvs zxo(fe{=GMu>u$7hCF3N69X<=y+b=Giz9IE+>78i@uH{TSv5z&aB8~NLGWXvJ)vy1& zC^==xdMno1&9ZUjttB_E`Bqz=;|RF_N5e*ER))+}$sd?};!;@o`b{LHyC`xPuR z!a9z;F_Y^2PoBQxjM(V`P;wm3&?!7Sa?nt-hpV<0DU3~#p z1DC`uhAXFw-mSmC{y>E7SM~FgRs5uMJZDKQTV7XCI`hbaig`ziH7@LX`-0UkA>#C! zeUn7b%$#pBOEjf%RlvuNb>%NuJ}A2wNltov#Bqa{kXd0~+QT^q9loj?oC;Xwx699X zTg9Wi6$_7lw)iy1xKGPFjOU9;XWx>=$rW6`zO6F+x=`MHsn^~t#n2lYr+u)?_wdZh zx)k5G!r5+$=)Q?X+ZQ`DN;f!E9%eJ_uwi!Xf5oAZ`_xj{EG~9h(E0zr{@ndNJ-<#b z^+)EZNo%IaIDAibEPJV*{C`snr}(~^Rgx_iP4v_^=NvTpkb59(s?p)4@@kng?|l|n z8>J~Ly<^Ib51S)3FLLFr?}=JHW!4Y#H}cx|XEEyBob+60lj`zmmo%M!Molt5(KUNQ z(5AfwV(zPt&QP7!qh<48>NKJJw}&kMd#VI>T??pdQ;$P>7)cYQ)wHs2Z+1@pp|T-Xv;?ksD`3?(CU(Z{&!bb1T zjK?}lwr&y=ZiISy#2>o7vm!S^d&P_8{0_Yt%R4SV^yn8{ zIHS7zn(&|G-*<1PJ(eBsH{#dGZXqtD%clw$XjzubAhiIqacE0s8pMcyor zgQB)Yed1d_`HZ4_)lAt`*M%)T&LNKkZ-!~DPyF*|zG(Eq3cEXzp{MK(ep`y=1bh_x z;wE6J%ZSC@8nBL`(GU&5pX#s4TJX{4QbFPXsOar7NqL z*0tvEw8-f$9AWobCPm&YTd6nmYW{SMDWz{`N3Qs&$=$nl*3q}BsinO-c>~7c|7XE+hj{d)S_J&E1+WCTlrIE_g=c6y27P`>A%$2)BF!_^0%p+ExMupEB zbNm)E_?hp$`D&7Aww1-<#+&~u4G%Z2+M?NKWFNHQ$Kx%9Pv1<-5K5lg_0Mzt{atEl z0UZTPjab{mZ?CQNynNze&S5?AP5fC8w+WW~X63$Mvf~iX|Hoc4UI``KQeJ-f-M7M~ z>)UjWm8r$Fzvv9My%-bnIODrD`(3Rqch7P>yBqxA!I_`wN7n?Oa28qZc6nybG3GfR zm=-@;uC`ca;)y?nPfFUpwM{qa|CDvwRmHaI`nG`N)9Vs;9oZ3eZHbHa3f}GeH<kHB>cG_7%xpxl-AmpJke{piBi|1V-*#3 ze}XnU8Z4Wy|2W~BRJ+qgDUFXOZW7J-2O*3vHQoY%zuu@Z@6i`)zgqT>zB8}zIW;K^Y`~vf4-$< z_cE%u|HK5hEN0t$%cJ{d-3v`$=6-Uc)IJqE2W>3Y3C*rx9%mLE4HtG;(pV3N$1h~%A3WXKhR%n8NcaX%Mm7@Xx6K>Uh{vf z`pxxCNK~3PY-i`QGpD7G+}=Jv@$hiyB* zs=suu{FK(RRdcr~&vaL}E$f$`^ELaHX*V_VUCxW9nqMhmfuUF3zApJ8QB(Rfa?X(_ zw>xqj__vrz6?vcE_5Z?&OYEHQAALLjPN`+3i`W^S_*GlBo)mA5s+oNJw2*zmj<*+` z#8*7oel&c`%6@yr+mDUzZK!It-WV0nY7?=$RG#Cna9?0<)@8;Cs+VtS9lkrYt+ann z=9@_(k9;F`MQzyMdh-p-9zze7Ql`B#{+mrRd}7x%KSljcsq;GS_<)tOyZNPR#Eyrz zY`T?eG_m1*$d!-HOHvn`hkn@1ceCbF0qca@cU}lt>hbJd^k2+IZOg`=2StPpo0N72 zM+617_JLYis8f$X*Kl+%(;*50@jDzL$% zG839*S-r$5az$}{-~GpF3$xAacJrQ;{}O6h^r>J;@U~LMmQKk-?3=C4 z-k-7acXid?9iH>{*6!_IdQ+;nd6wri&E2LNP;&m%GO_FSKlMJW)G0|jp1<-j%a)}p z7Pc&jnQFCYir$)y;%EM(SpS={>+PMJ7ntw-%-R{t`d&g}*_Vf<4|_9*|T zw3r#7DpO$n=lPrP4$oh*e#joYLnRgne~g(|4F%lQ{(Pk;7NMB>-L`g_gZ|F zrr9n?Vt(*AdtU0zPcf^u{eFG5t3GLMu>G9o$2)V^Zu)Wjx|Zmyy-o|SecG%WdU{Eh z*u$#n1;x?L?h#y1k8Kv6d;7`UnLmYpd-@&r+~i-Jlh^Ni^~U$(N0!M={C&j0^+nxF z3-3DSRY||&bmILgCT-BvcsO&@Lf5{Qhk8xE+A&9XcUK;-n>PQ)>@_bw2o>pZoWJY( z_rbim8Cns?|6loNU-~Eg@1K2->whSHSl;vh)sOjp`8%!~KCa*O*6QE$a-sjmo810e z?04~x-&gs*=lZ$&#-BBB+3UF%d)7=&x_45?XYT9*yW8{tmhUV+?Uj8dZtpmuEWvsUs31eYb%Q##r_;> zTopF4o_C*wRboi(n>9h#it1Xol^$qgKl5>JcOggJshX$pCr$}{$zq9|tg?rVBT6tL z(JY}=uYTqa?jt{%RNvSKA28xq)pm(A`)th4)+?;WX;J1W)%QI6;NvHpPX7e&H0QK! zO&4#GtN*%7oTc>WG|Ai>k68|$KU8SJzuA;sSbcG~@{Qyh0yZBY=@HdfVq#E}rAavvSG~>&h*d~JszpOWMbHf^cPA8 zxzluZ{CavX_Zv3E*ruHK!=kDdh7Kl^(*{MXOYi|74om#&_i zagb+Udsw{g+{xkR?>+f9d&>jOUlkW*G_APLvBp3D?65$5hNF9e2D8t`TP))9J{Qk< zkmyj9aboeVg^MpV^52t;$g)2;x#=_a1;Yt*k4WU7zG_v@n18@E`A+Tb1y8s?Xga?9 zC8(6rox1JWy}LYfgiY>kWL7FT@Zyo+FM}wLWZh?s~AO2G3T&b z7Afx9d8hqKtn>ozOb7e&jR})4oR^rc)Wi93X~R*){F!2$!Td&s|0Q0xykXg@&o+;V z-+K{9;iL^7iLn}7Zx4AM=17rA`|o*J^84b;K3gO|9oBpps=fA@_Ol?B-zzS+E@BUK ztenP_H;LnmciHJC(K7AxmVCXM0XZE%VIt3z-a3QFT66 zM`s>3@x5sx>hy$HTK%DFm}Z)!>wSffnwzvc&QuG@F|(v>y14UCf<_DHjr-i`o1%0Y zCVtV1(Obx~$hmI{AJe%nDSErxFF#PazFR6lD&EvGagmWr$-=jy@e7U=CNRh^^<&;# zF8|%of^V&*f;sbZdBLKUTMC+WW?1G}v5GB_|4`@I>sqWZ-(16YchgO+U7u144ExO9 z)m)6<;%Riy;-RAN@+l!ZUG9acYHR0Ap0r{P_g00lO)937F7*aJ+WYQa!G0~jJ)2Vl zb_n+L#`(C`>=fIr*gs7oIPZM$q1-2Twbuzjd7!I z%#rmE9!4zpnW282iOGJ^=8Z{bD)Ne#|0-+f+vdJD%%ghQh34xI?yN1$@owSTSG|q# z)N$=6#~K9cRkknVKEH3_@vKA%p`s4f8B?k??bxK1ejPgNU@Ux-XMd>nlW>7M<;e%d zb8QU|W+wbTXycF>DDg_DEpPHk!#5HVZ`1F6Vd66SeBkRAlZdUgs$YtJUa@`8v!L+4 z;f&PgSj`wMqhID3*-M@>KM#myoxGskd&`1Av-o21thTI~XYR5*e_OAz`H%aY6OU7^ zQ|5EEW_I^`Sm@RtZGK$QBYEci6EU?l|Cq$Z53LaC6WX>xHTtLGx4t{pyIr0?ih5+p zYLc$TwvV?>mQh(?0hf`_C)u{1LM`Xj8P2*33so{j{$1Gkj?qh?a+O@TLF%k)n@u*( z`LFVfE5=x)*h1I$MZNVBKIZ)9n8YW=rm`ZF1CM@IUC;FI=*g3}%PW)CXR2HJ6-p^v z`@2;Swr6OURMzVTh581+|9|cG{{46V z<^TQLU-duy=Kr&c@7H(#z5j57t;zTL@4Mbs{r|50_J3FQ!LHoYfSewjXT&*D3O z6b`AMVJ-CvTO)P;TF-sJQY;%Gwqweak1l*bkk+Hk56BgRP=J%xvjTn?V3;@xO{D?#`TiC z$}{OnZrAIk^%cfz2X%PuoLbc7YRnlK)+U|7?ylW(;{2KLE`h~ICtOlmIYU_DWyz!v zpT3ewIY!}(t6zvagqqB_o05F_&V8Hxfx@{dTh6R8)SAd9y=v__X6eLZQBydlA7v8v zyLz^8^@O8g+9GV6`bO{n%=yA_Zg$tBl1npwu}nFzKXbB|K-B4nNypA#?)%F*Z+(QW zfxzS6eTS7-e`eO!I={|z)lw}d>*Y?-^EQ?h-Mr>HN$Yj7%jc)nf3Laxz0J?;*vxvB zt@Fy`MF}BcHCZ0s_qdDxa~!l5eIelV>*BI40nbu>COxZHeVldudXu^A@me#9*$Iaexu^WXDBtKJ4%tvI-2#hO`_ll084& zZr=9c*T%hq=kIGVhnG0rd+8{5dj-#%9;O4g0=n#iUMaA)eKww5e#*5ZeBXol4Qht% zc2EDer>8%fGjpTniRZ#MR=ukDRd79M-9^F0?(#OLe9zlVZi(A z*sOfY%W0K|)+n+pKfA-?=BbSvYpT7ob6t-_^KGbJ9(VOFOL>>{&0Ve1%Ot(u&CQy= zeA+e1-Ic+ckG4PFlkz(4YP;wY&QBNH^45kNl$>C_$3e?q;44Rps9taFKkY<0tGlL2 zdpKv8Mce6KSedP^IFGmQNmW zrP~GL_BFnfT)5@#qx1T07EDIciX~e%&fm1XBv?Cd*KtAFb&Jd%ikz&G3Gi55bN$@{ zhh-D(>x~xnKA+gU!g<4ie@}Q9Y>5+7dhHx`=Jg7}hr+vze@~y{d+PdTrri~Hd-+ul z<-`g+ebcq(am&W<9P0(v%${Bps$Tf)JohiH*DDS*rgN{I{#fs)r0`9<)+1jJ{j^>7 z>D$><;ol7&+?N*{99-fhEpo2#vw+vuhNN_ zY~G-;Cs#=&{nhrxY2IExo_zki?Q@%(>H3{Fmg(=!d^t5 zMK4TuGd%16;nN+j3j5~HLlsjuo;R@wsgY)HDY|VQSM%YdXmO3!raei49IKxm^NqS5 z{GDHKS8P{l^OR{jV=q1OUVCZg6y3$Q)b;+({bU+)ls80fs^R+ilfwNaInthmp1X5= z&z6wAxof9sUrpcD{DJ*?k>anIE9RT;wA!uS#WAVx{ zZO-&VVt1d-eJP==@bc9cFTdW|*RtQQPY6@dk5*84z_&0?u5o*Gom z?(&oC1_cW)Pk81T5fEFc#W=af%yCs$WAlloLyTgT@+{m8T6J41R9<%c*z>zfUAIpD zd41K>&-QbF{W&jg`G0e|^?&1>?bcsE&d>k*=e&)K{lA#U{~hoDfA@x${qV2f_ra4b zYyZD~p8cwR2Iu-`I<(Br9umAktaQFSY>ud|I{ona- z`4#OD&-LjQ zIv?Z1KWQJH_xz<|;-lhSKeomCTwm^zKQl0Khk2NL$yLGFQkQVqi=l*=U-QK-ie748 zO=Bli7CuSzP<8QK~x@3*v_x%kkVWWV^N!+ZA3GfU&` z>f$PiJtZX;;N?4IYj{X#%G=;;b&m6+#GlHZ*z<7WA<^@%w^Tm+@Zv{>fyS!GGo9q_ z?(;gm?}Uhw<%@6pTeK?k{2$56iB{}33h#LK;^oE5hn<&(&9k1c!D_xzxyMZZ_9K~c zb?I9&ev64ad!O|@`E=WoCv__oH7oaD>6)SQblDaKwes6buN{6;xBE)bj6L`Dwo0iq zb9nQzoxEGNbEU#g{mE0^nx53oTw}tYKR0Oihcr!7j{N>0?+v~`MdHviK zUT?QOy>Q*;)coz?Tz9u<1UUV#`s;TyrlG||o>>~(UYkg5|4_gDrOl+yUH5|D zF+DrC3_O2yp!ng99)2sOo7)fYoL{q`KIgyH)3u)$U*4FV)mL_X!ody>8QA@Ob*dzYKqubGmv>wQKeB zFvwXG^!QBCY!Eva`Z8 zCth*CC{$5xy*i6)VOE78*SxH}a8EAh)RfM7n{kbQOeLC)<{$N1Ns`IB_QdG($vKW;}Xp7C*Rmzmy;oO!vC*MB6x zHrjb-mz&9?=&+TyJy~+9Ezg&Fa$-VsxYtpNNGcG#ls+qq##@jjb?dCT^+n7qq zUQOCmeBSNVQ4anCHNm}-x%Zm|!gX|4%yaUHcNY1_u!H;fgoa|_iJN?q{wxvo-m7pz ztk6W$-MIUwA+BPp{Z}AlrUMtKj1P=7sxi-8{8G zOT+)iq}f-eamDk-Og29mf5S@un)U6CQ=8-1m&X0}Uaef@r5^cV_PlxZZFw!TjO?UK zzfO6Ob0s_1$;eXrYpFn)nbZr-%bPD2C{H@Q`Qki2BWvlmuQeaue376$DZWv5hK9Cg z_=HOrgPu*ebhjgwQMF3ShefkiSG8@*K{p+54Z|x5{}?r^qr8|je@ky%67a~O`Q(De z61ngRmu_}EmGUYvogwXUv2suAlz(nI*&2oy68=dC^`z~+eRE^w(~7+n0GhaR&3>( zx#zdMnY#M3XQ-6)O-;8ymrdtR(PI0b>Gw2p>g2hHbH9AK+H@fQ{lCh_2>J6hZ_C@Gh0jNE^@J(A(X$BW|aqToX%Jf0p>_y>efmq%1DOx>S|Cd(1*tU)F@cZX;G!y){GcSHu7uH~Vn~&%C z#HiaB%MvzM91PhY9^E*1mqPXTH#+Rr_ttG&T7R-GQY@jlK99fr$WhON!@3WD-1Ts+ z-K(`@_wV04dF-q9rgOV0DEhH9k1?y7|CI{>>JF`U1PAZGQdTASL3kuuIJ8sUM~@I0~DF z{F(P>#{z}tyQaqTiu}8fx$V(9sPzq0RzERNXwuV8)n z@%q}sALDg+4@6vO-?jPno6E=ROaF+sHU$2;9+!XN?bqsx|IX#>|NXlzUYWA_@{%u+ zkNh{Azn{DP{Hw;m+yC`5{=fb`f8VUX_b0FH>D$@Z#Nj`8PF}ZR&qLKR#QubC1D| zxm6cGo$5XDu40Z&<&S^+?Ij+>r`KPY_YzxO&WzyIFp|NZ9u_a&Oo-~4~q zqVv!JUNzN%*`NL|=)Zg8|FM7R-}c{s`~A&7$MOsBEqed{&w9Imx8Jiwk=rLrKRNuZ zUw>bJ`~SP^HvGRExBt8E^4l-py{%0yu}lB|-|OxEjQ?{N+o%7XwOsQ5?2r5J{kUIk zRk7>(&F#O>#cjWy{j5Iz{SW&>;qND#zx}uRyx;LUqkE$K^ZMV+%V++twf(j~e9M2o zn=tE){)AsHEfB*K|{O|gY|Gj_n|NMXUbJ4f|ie=5) zw*9~BSD$|Y^!o?M|KrPb4YL{{;3!|m%&j%k@LUnFUzQxfwJ#W@2EuL~P zA}=WC^)|V_P?jC}_dEGG)pkmWYJa%CurSrZyq&FeesOK;y91wg#3~7e<`(H3dN1p` zFWhz7r&-IcdrZB;yRG%(-fdlLsvc{6`8(~hp1{2KIm+CD^QSZ#v2ZPjVA-IpeSh!I z4Q+w1W?EMYx+Y#x3Or)HSK;d!S^cy?4z=f%FPL4P-wIUlTaetnXWtz2Z=KRxMPBrn z8i-p4#r*Hz>W?U$A|b@QW;sDCK>f!kcVNR-byY(Z@|z zBZ{YQdC(-!Eouo{R>-Ve@u_8Aar+{5RGxupB$0Pp(cNXU|`K>iccXE3jsrdDey#BrVim%_6JGDt4SMlOH znS8<3$S*C=q$vHUQ-t!0m76z;`y5U(@|>o^D9-M-#%bC1qP-e=pQ_(Iybx2hRmxs2!5*1l8O!`CjP*KZ^r8NT*^H! zt*@(lI$cUU;?!~OtM{)hy?0|DN1Nr|?6~C{C^%=Kk&$%ZZ<(!^9a9>kR$plr5uM0- zxMR=Gb+X#Jq3g1F+jh%{o}TEvHu$=TY5aAm73`X??rqe07**_bkz5+5TN*SHhjGb}N3`#QYZSYIV_kwJ=d?Tkeye6Yf^po##0?i{0XilF*rB zcTNggq)T%7vUQ6JYZ@w@wBlmfl*jVZx|69%S^1ZWuA=DGwaje3+qP_8@L|V>#49=4IX+)| z{B{4^?HkXoxP6Q@VcTW5M^h^Hz7F=%UaM$!ciIJ$rAm_pwS3m?wdjm~Hu-^3(e!Ue zd>Jg3Z+<#UU%63Xy^rhjA5WgSKl;5e^^bASpOf`7MXOe7DD*rC+#%v4E^(}NTgu)f zuIcGB6Zt+HSYO)Y+$eEaW9i||TVvv!{{Ot6y~*uk&7P~Xro)x_j1ZSpx(RrNAR=ZmCqJ(eEoY|Ihx!ym@@$j9O{B-jLwohyF^tyRp+pJ!nlBjmx zN+Y3DN8;nvO)g>KXHT7awK_86TI4lHyKdfY6K?hx%WmFklhvzJHYWC_eYMtdl-ZVX zt#Q)PHq|qW9>>agUs=66ZDS(q=3iN2(zOP!9W3H1Q)fmlz8UZ#g_EVS?~RY{{h1MU z*SW$U+`J$4#{RE?+1I9%#cyH?FL}A`V~rAPj16($V#pk*CVD3{?$8wuqyD`wMHmXC zvd&*Oo}~Nd!I|_#$>%rEuy>vEt*v+;%hSH5CT-7;7n@J;re6~A*18~jbZzU#=!E&g z%NEq1-MlI`IasT?f^~+EM0ZtoMv_Qs#V)y7+uFIsp6oJx_ieM5gSJ!P5B+s(PTpf) zW@|LZZ+n07k-oIT>oX0CC;QKNCVbV^%I({M%3He1x7VsYDED8;mVPW>RXALapD)bs z*vyd2jk63I62BR%FPj`?BoTk(C&rvclX+S1U-USt`K5y= zR9I#W&3bi>$UY)Or?VBy=y(b=ziOle13m(nawlee%0Zu2yNU zI^}&*d$nKarf;V{FU}6+3e1wf+@sJ$13^iAhCC{!?sr%{&oS|5duHwQSPF)vt~VuKsax<-KFi)?8mQe?_Eu*gg%0 zqe2SuRz=ZYJ$H&!CPv@&Pc4dCRIQf3bBY<8ybvQ}RN~AV&!1nBYdo)b^2`yRRqhOp z^^eV37cBAJ8^JL_|8YZE8?O)5Kc&rN(X{jF=X;g74O+UMHa?yzZ^{#{dNFYGf%OGq?$(%UMTj+eZi z&mOAm+nzmv*QBbesP^BAb4_(R55JzheDm0HfwS9IuDnotRqL}^*Z#eijCcMCOO1ZN z`h(QM4^8IWZQIzIqK-}4*0RZ?GClO3%MbsD|Fcd!crVjB>6iVKw0PHdUWQ^Z3nPy+ zRbDlXTyaBY<(5KG>6KGFd$rHaExl(WoL(0;ciz$^9g`;nTBQE3N>Be|(U$hV`|SMy z=_hu-KVF+8cJ$^%>08d9Wv`rSEMT}5@zXi;&kK&H$1JtejwzX+-j(}a<8q=}aHi9l z)|eTBo3-X{%2`uYb!pWC%b>|Q7iVVscbl)4UFWlPk~H`BVj-ccac-J={2Ae?CEX{b z;-_CV-KqI<=^qRIFB3#(KCy0EcH6^sqgQ9M)d4f_2Tu!|MDym=**ZVCTmDkXJo>?v zt-oCs@O`vUQdz*eaNE3{Jk0u>%A0Fv&rO#~%AfLKN!p2^h3Q?FC&(|5xwMJ>t&qXb zgeB8DY8oyEW+^gy+t`+!JJO_R`%gFY$I;W_J7Wz4R*0`Iu&Eb5y?3Q9i{`nn0xg*{ zU#Fbe=2P7Mr%vp7+o_L7cP@C(bI0^l@QfXvrbbL#&it?XQeP&oTQ2YGC-=AF$BVNM z7xVuYKgO@y?4P0O>UMv}rL%;9ZU6np`jP@pN80lw#qe~eI!`z z>iD89Wa5Vmvn7`N(XwB+*xz5dROimxqL*(Qs;`>aKWvwrtaUE-Zgz@LxmkO}tdc|XA57e-cz4suAa?_!S5GQdTe8OP@o!E~xaI2b zGpctn&N$xYVylp9`!bt zJU=zl|KU0wYu}8G(adE+JCmEDFN;;JYCT!LBOzP(gYc%@YYd{t|9xN!_M6zqH*MYC zh=x3s#Tu_0UoGc6QL)eO!;U)d-JBQ0p0&=bC^Xxo^8d@EpPUwFCvbdY51I2fEN$_l zgniPg>Sqogi%Qqq9bzUN-&1_6z|nJB^>!`6g2K&4a@=uRbMLLOGnf0Axa`QpGpAOX zeDQoSedfPYn-fd!*sV%hBADryjUe9`@|l|^YmI>`#An;tk>z0dq7 zQg>jt#x2Cc<+o>_?meNRa8is_o1_E)bwv|#F+n?{?%e%lBHq?b*9PSc1j-lL&s(s= zhgHmbuEN}v7vncSD0kM_-F_;dKLW)Qm!$S2Op z_e6HRmi=Y=E{TFxGIQ2?K8a;wo4aehq4bKTOXro!J4NbM1b@DlSn*@t3a+O*Gk13~ z&OP>F5l78Bjc;!Mc-KFEB4D_`d7|~q-R17us<66co#f*8@6_&{_`LT? z+rp1CBqBfb3Z9!{xKfnO?S(&2l$@8qkIH|0dNbBDIdfbKN^$X5;?zu>`#5CZ39d6) zhgU@R2Z`cGd2m$%x&`vjF_tDup#AD?B!KG91nyN z{(m@9@Md{+nY+S*&)jnIKMofb9lX5csjl9cE7~FoH^X*%cwP%+sxuDw6t;Z*Nt2)T z?=wxfX8peZxa>lP z3R`Zp;B1!rm+l*sMyy-E`MSZ3D&v=-o%1I5&pMpvwRyhA^e?HB>zY-#S0=Sc%7`B+ zTD#08l11`G=mm|1Avt0_#{>#*y*O<(Q*Md=bNhXN3nuNgt*@*5^XTct^XvW3+3&Hi zto(YJU;fj~^>#A0)qfxT`Fh@+`T3ux-HRvBzrTNi!xRq(FO~(9PT2qKu=iRbA9H#B zqz6HD`Ysy-mHw^}tb206&TZM=nJ<<~*t(hk&Fh55)8;=w}zX2LHR@C#%+S-&@S`_9XjjO_rCMEYDA}J~h0NVp4nd_%p+Z^QX1=zIC5?yDP>? zewvg+%Ll=^I*IKQUd#e}8}4mLgC0kG=-y7~>}f>O`%WaO}WD#;~|s z6(P@x4h7UbHZnGHStrcYE1k}k=BfGk#9XyjvzZP1E<0PwJC|*o(BG(W?&_`YFAtrp z{;u`i@4e(YO`dPb7sUST*J&3FM;>kSLp2tjtFAW zKE`)7ecAkVOP)`kIdA^1Nvnb{9y0jB7*)I1$S=;me)g~YB$ob*$D5yZT#Pi(yCF1( zmuc?-o~k7sX$Jyy%n!Ea{tbs9&zEICPX$8kkF{N_5ZwKsBEodv2lLijcOzcxO%Qc0u|IWFFaG$!BZU?V z<1|WJ9DJs*e2{+3nacl^F`2#eiA_oIO#YeWxefYH82{dRI?2bzT+yfNg8Gi>Ov-#; zr@j0Yo8zqZZ2u7>MQf+m-3!?l@@bzEytL%dBDU8~Mj7I6Z&($Q^?&Bynp+rd=~pp3 zu~tHTO~%Tr5eI#`N@~u0Ze7G4$Y|5qXf~DOh3ZbV$EK^M=I;5zG~G+&iGY*)ve^$d zDskO<)Ku`QP)%`a+xzBA3}##Ybleg-+@3jW%kGn{C#1}J_DG7IOqZOQ7x2+@)9D#L zrkwft%!U_V_|#nx-NSM0K6mn_IK72R9}h*ZWnep**sH?Im|pdW`>R2e&y&hfX1~L( zvki}NJ3EQ*^u5bH#iER7g}Y;B!nb#i#F!UP%;r1cd*G*glaH3zyV&06Y%~29axGx@ z(a%i2XgT4u)D*wn$3B;C*x(xB`6loq>VZ)*Rs z*2ZNU+Bh6q?r;lE*r3>S{tiz`n$oO?!CRfAlDCVj|IQlK?_Usgqt1YTLX^m^T?Y>K z%@4d0sPW2w-BU)Dq}J*Wt>cuvmcg1EWVJ$C?%&XrwKC`|e_?d0 zu`|X|bZNz@n+q3yzi~0|Jg0~tPwTz+k25XLp6Y!1hutpxf%yMRmN9z0x9e@wmCh%+To@ZzV$-V6F5Vq8Yv4ZcdRN0$xAAQ^Is3hS*5CVS|F>7#9sZXub@$8VH~-%?o?ChU|I6~~ zv;W?U-}?VlzU9QWTJQbbF8pblC#{2W;_En*(w&c3m|l>H{#M^0QDpk)_|%xHbv)St zvX>IND+)`KkKQ%*yTg2>V|Q@Pj@+cfS9f~MwcNMUqTmZd)!iTYri+tS1YX)C{gr>A z#C)rBu8~))dIfG4ehU(ucGUm27T48lf-7DfFZlh}{rXL#E7xKlZN19trW7CZW6Q$g ztRvmOSQZv*C2d?P@4GAf&(`xRzeXR8`5j!|Y<)aD``1yijhD5mJIsDuD09vXonvzF zvwUX3UT>c*lME$hFYx+u>qmO2=+}df=iPO8oZ8hLk-l{5damvg^{=ayezbr2_)hTn z8@*dASmJM)#YKj$*|h0GX7n-j-QGEyeifcHJEC&=n6h@S>#|PgW62Y8h3j*=ZzSJ7 zF1vb8)zsCUX2&9qhWysscywEz_O@D|jn&75Z!1lU=zY1)u58Aaiy^yQ)Ys3gs4%k- zc&+(rd1$jil-K<;k79*|Uo2y`y~kCR_iUecf}J6^@d=6k-@SVnoHG_wyLrB{dv;36 zLWX&^F26|blVeY0|B8v{?P_PVjd8u*QmFE2qqE}rN4DZROxnF)i`9j9eY7!|u!UWD zgLNgh%2q{tm&ypyuffb7A12i4etbT|r%V1p)2m0%m&Z1Im^8abGkJRY-X4yh4L^hq z|5{KJ8K|E4=$B;u($pyz4s33{b$d4IPclf<8dvX zq6<|EKMO3lnK;K_m!Wp@$>U~^cLW(!TzkZt{`_6&>8>-Y)SOB^N>?YTti7`Q@iH~_ zoKHVDyp7S0)7Tvv<1X$qmup3#28)i_#z^HNc? zRo}B)oR|~1tPgZ+?poT*o6~su(=A!S{ZAk7&&_ksHQmWly{zHs9~SGgx<|`}XK3_X zNzB_%2IpbSTMYV&M~SpT#8XS^u$Tr9mL;#FDa(P>ew z#+p%Xa`R_=DepSCWRpdZS!-akM<+uNSL4oK8||JYpEGg2t{eLK;+e{Ojz79ra{he% z`O~vm>toNIwk!3Vc*$)??rEjt{l8Z__21ZbLHOJByP7L?bL>{zs!hK)W5ebx?^49) zvJ`87m1#1@4Xsno{62DJ=gFE!Niq>txfgTpuj(^Y3W}E1KXPTq z+P@oKGNrjH@iDnJ-BP@^I{Cx4^KF|d7P^_t>Bya)Y%uNR9sc}fiRp(YPl@@wTvh(q zg8iW{D_*2_D|>HRaHL%%bN)P!`vpsk?F;@Lx~PA1E5|~kTrs6a#ko}_i&`2!T?%HL z$+dzjcpDFoD?<_gjOVpaLK#B-olXk(Y~M0(d;Gf-W9; zY`@RE>Qlns`g#Km%m0Ue)x7(||HSI|eTn90fBcjGOaH!q^Z%EO|GR(J->v)j z=O-t3o92CMvu8)zx6A(gt>b)qTlo!t=@7Q^b(_pzmR&cn?NeErsrdQ&c?*txS9jZA zyCagF*JWycbk^*ov%VXjEsH1)Ub9mZxA1I}*Z;J3g#;w2Y8ht_bOO@}R?dSLZ(_jDo@P>Bn zKQ_H>>zB`OJ((x;IX~5d`|Fp*lGdN>7}PHK&q{0fnIfV7*_wR@Yw|U%mV+BQraa5| z=yIn#*XVG-`k8C)XsErvt1XwfU36#ow1fJ>r_Y_3)7P)hRKm{iY{K3BKf}MQXZW8k z&zBZ>pWEa89gT@X?hje=RcAl*lM=94I=7h5C?_s$k6hw|w>&lBed|uY0vienfG^|a@7%M@w;-(C9a{o&2W z-yU}VSg!kf_qX^@;h)4@`6o|5XIE4bS$ALTZ^{bc>&DCf-WFK@`@XBoYmT?<@7=cb zhLji0`@3GFYl;?gd;Mlf{`nVpTDOSqbq)L!pJO)VT0>d${YwW}g`V%fwWs@m{M)B~ z4I3x$=6-3qcNsu2-V4fXUuU&;5@wx)L6&{_<<7jBowiCsHSlC_M3(xxFx6;oP#NkCYU`7V18q zq1q7P9aR&ZXLd{SNx$UBsAq3DK9u~@{quQ7l)(9IXPpmkd3$<~2kVp#CVLiT8HF}J znv*HRmTaEMs9+*#`X)E^)hTwT7M>FpnZD|`9wu3FE-lQEP2~75Y#w*x^2wJaMcb6K z`3{9?oZGzk@${~H3~gs662-dWm$!uPV@jX;X<5^wkffT-r)P^hZ?BlPu;%+-zUWr9b&(+pBehk$ z_rDEZ^<m9WO}An<`mc~(c+PUlq-RYl(>C?BKie32 zGtukN(kqGUB%D=WKQL6}-q{@QIJy7h;*FOxeP+$O_vOp_oy(J-YrGZQKU**UWNPUB z<#p|LNhj6Bm%b?5FgfA&mSvCHuI3!h(%H2txM|bPj}whE7F{TF(^fM66PNu(k4yMV zK(xroBSrl4Z65xvsL|VS`5u$?wFTzi?PvX+|LkA<=Rc0$>e-%q7HvNI?fkO8^AGM@ zT=$>7&h)qa{_el?XN8-W9SK?{zbQ4(>d@S>b@7*;=iJzNY}vL=DLGa1?)Xl&mOb;} zWUZ#8am6P`z9<#zxiYyE?@XO+e5=;7@_mGge9Fn{H_Rcx8N_u=k2(~nQSpJJnC|MA!nwRwa(pLhhAUXar(RB zLREvddtG_#%e)`{_;-Tg`ug=ZnOe-woNL_Jk~vM`eS)D8`?<^O`h3FspOpJIS{I&* z+%0w9v1`S-B{JeWQf3~0lOFYa3d8vypsA`^hcoW>98r1fIH~7E`0_nLFIBrA6fNai zEz0Dk7kYPBQt!WVr^h+owjI1I(0y#fFY`>ypXc#)*#c{? z-nnzij0EQ9Z91`%bEluqua_x1564Hdh4s`0R;tzii(=cgDPv0rNdLkQn0w+*MDMFs?@ThD>b#9Pkb{CX-l2< z!T!<*{+-v4eQ#SFe>EwkTvYPq{*1odyVnkX)SoS#_S>(dNZsset6Ws$e!gDqsx!aY z>d$$f>&QC~T~Bevd8u_*&H65#r>4H^Cu*&f&f(rtJWFfStKP*IzDN7*cBt65xmSm) zIYhE)&lh9G=@Ms`MlPJ_oWWn zzkM^oX@z|18R5+pA?{B+Zy&Jo7Mq~`V7F*r-Np=!=%SPDw=e2Pd@Wz+KdHsWz4{i@ z^~;lNkC@eE|BHTSHC4G(_vXYDj~)lsp!<{l`ZjJ^xP;le%$v2kBP?`zpK9g$$hlfK zUl*x7dy=LadR^1?)b*7@FBM#!*v%*3YqL_E_F)aHkkE=X!p=#27S2g5TCa~xm@)s{ z1c}B|R-E51{7v)daVVY3;9c>z$yOyGR=w+p8aq#?;EHv^u1UolftQYzC3&o|Hc)X( zaF1#~cjo9y&cEku9&cQDS@m1NQn#hc-@Pozcx1}A`HwJ{dcvAL2fq52Dl9o6F?nx^ z%KYbjZ&O7JJ_o<5;@kmE757B?(L({FmR~i{Wc6j@md|B=*&}t~E|d zveVix3369ux!f12;Ye37F{s=fr)bDy89KXlQo8w{4qJtR)` zw@&HYB#xg88bp8Y{3y+@aZS5^8`tC9r;0m&&3Dr%>|2@rdRc6!&%$p}EVYi8Z$@0Q zs5QKNvmj>iAK@7*4U|u&e|fvhrzgw6aMkf6#^rlvxF*!9l_#Z6o9w>y%JR*#RNS|E z_Pv_qQomX4?4J26f2_&9&9-#Q+aQI4lx(ka-THeqR%%;^&wUy4#ectEXv3Wyn)R#C ztuNqVYnF?hIrSsUCu1JFM_hM=uKZl-d3MW6`}~0BPob8nGF!JR#S|F_%+sz2ei@_X zBN6As)Dd%uokjAIy|s0XlVbdb1C>)!XYlzvS$ckzBj?+>vM)vQU$T2oOMIZ3s8YYF zWqMKO()O0U$Ng@5EjMl2SGTGxtLk9Z+=lO|dMD0mlq~K{4%?9^syCxx|G#rDQ;auq zU0;3X?W*TRp*y2*?}+M}-Fh~C{h`pC4?=HWT=h8RWsGucRPAxE_aUM=?y~7#YW2H= zFKdWYT~A96NaQdJ*nKHj`{f_kq@R8F=KRk%SAXa4zxR&(%3p6)`~A;czx_T~FymbP z7pv#OOvynX96s7x|K3|S{qFy_{J-Y@Gd(O4p{gPT^_9jv_V)Euhdsdb7!;Zg_En@GUY;7UpP^m0d%w~}kaK;LG3Vo(ZalXb&l&YRmp0sBe==1j|HzDXZ>8ivJ2)R-VR<<#JzewI>E6^e zcO-vSPEF*gTisf8hQ%%Lo7v(G=i}0semND8XTF-zEoHLkA~$pK8700>>+kR^irsZ# zVf0v`g}diHZa zbDp;Hi~ZmD_zPR>@A|!Y#sA-zZ~iC!G`xOs#NS6jLhA}XPO2^74A(2XXYeMHZLZP- zF4eyegx2{zVxQhty?xf^)AoC+ziyjad(mT#vf%3z-cqW(qMO&=JihnReclC)uQbo) zI}7v23Qx~}(EZ@cj7pAoOg^84KFA6j)A8e7B;hZ&H&%Uh>7nN3&n*MLmE4tj!}9uR zhfDeMXBq_u8CRVR4%v5+_e+{er6`BfQk6TtCKCQpUaR=qreuiw8__x}I> z^;f-$ocld4_BiXEesT-`hySRb%Xj<#`*+{j?#AtB|2O|}$#<#$?~82~-F&&~`Efzhpam*@iq+zvB6S=8xhBPcURKG5`QqK-ZW6 literal 0 HcmV?d00001 diff --git a/packages/raw/Hyperion-firmware-oc.tar.gz b/packages/raw/Hyperion-firmware-oc.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..307ae1253813c274d61dfd05e0942edb02a3ebc7 GIT binary patch literal 1026 zcmb2|=HO_FNXlaR?@?KhT9lcer<;~plv|!yl&YJbtXGm)#PBxSv46IO#Mzng2MgV1 z3EfVZW2x{~F3h<4W@K)7^~zNz7}XQKbFR(s2@CySoy+lZLW$K{wbU!0_HsY@C@J&! z{oeD9ESD30ot|G)u3e$_<;iY_tra=l0TQ*h%5B_OCU@?i&C{^UDCYKQ|6`m+pUu_o zcd%@ZbUAF`vYFxXghZ>)Y7O({w*Q~*^xSJ-)U&GM^II#HUV2%6qTX%g?IgF0hu&Y2#kh>;VW)rlnff@%wJOtZDi`|8{&y5?_}Bce{?h*rmqdZH9K8Z;f8|&I z`+RH7)OAdojh~;{`BDm`Pb^33S2FW{b%OW>z3WB-u7jwQC`@-llOm_ZMf?# zG*f(EB==1h)6J*not3>QH{)mT?;PgaKUIwV|KwP5f0e&dzu_M{Pw;=vz^tv6dH?EP z{+0Lgf3@FWS-^kZ#uD92<@;ZSKAy4Gd9{-F)n#jXFL-W$d^W#{`KQ7buaKvGH)W4k zosL>|%uoG3tG4D6&UdEz`W4eM14F0(jyk<{tLmw!)Nd?rpWb?4`*UZ-)*si!?AMhP z%+Z#A7M{Cfwc;(K_euBv1$bI);l015{hnH^xc;+nM}Zi*L$hXi&xrEge|>38-c{?1 zUo+}Y)&+;B+T1Byo~ifdRsXsljQ`m|@Q=s8`KRybtbYE7>C2bj`yWpHznh8SPyLSj z_0#e^`A#ytuK(~~@OS;^|Nc!(E$JUklOOzF{Ix!Csg?d+t(P+Y8LKY+cP{$zU;XF_ z+yCi;Hvc7A?&ju;T`6BW;jY&HraKJ(+5gMW{Qua3r`aN@XMq4HdG6o(sb1~!nVr=DX013Skh1`ucne5hRaL186B00RR6yP_Zz literal 0 HcmV?d00001 diff --git a/packages/raw/Hyperion-kernel.tar.gz b/packages/raw/Hyperion-kernel.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..96b6b704f5320753db70a9328a3c33aedc84fded GIT binary patch literal 34243 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 z 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 literal 0 HcmV?d00001 diff --git a/packages/raw/blake2s.tar.gz b/packages/raw/blake2s.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..71927c86d0c843a98541e86708409060d79aca16 GIT binary patch literal 1649 zcmb2|=HO_FNXlaRpOllBooZC9SCUx7@HRR+|CWcyIph6FE}@*a4$fSiyXbA!WV1}| z+^ti?UU^TS%42bqYx^xVrqG}7tIzf1<}LJG+ER9S4!g~~pXXBbp3gRvcz?tC-{WMH zdU5x^7PeI)iD6~2l9P)fk5!#xdG4N4w}pLXYUPxs--{262u=u`*YhachGXh9COg}k z&*}uO^v$uUeaW|YbwtYX{+G;?tu9Edx4Dq>HR`F&btje})>Fs-OmAX$cX@C8f3c3g z`s0i{_ZxSw{#&ngPygWmtl9rtAOGL`p?=4)|6Up|S59Cznv%zCq42Li?PtQIv^cx- z@~Z!9mzI6rFTnagTTyfl>&~zO6_uR%KkFC#`JZRldpX5u-CVn~|11lC@4x;3{r3N- zx8?oT`5?kyDxtCczx;)N_xnG+*eJ*J{`a5dtnJNC3_sUfe82m7{^R=N|Lr^f*Ggs` z|KEP>|KTOoe>{HvZ~pWC_oN^|h>tN%!_X z)H!s!f3t~N{W+yYwvL@5Yx5>eK3TD2fy!*(<&#a$p9tO4@jFEzwK?U_(lBYis*4jC z{J1`KE%|soa?-KhT`O0ZpH7qT@Y*$5#O~Q-k%nb=wO{4l+;U4Pf$OZuotS4+c+PGO z(pmj>Zmv%9&kxt7g}Z-*cWruCWcKdq$rPVUp7YF}P3f6!$~5WNPaWCh6yEGh+ot~e zz?ZXi!K%pa<9{#R`R$+ZfA+=$&;Ds<&;MQLu&}1=8T<0*3y*E8c{@M;ghRs5kk#GX zy8f997h76iSK4u4+c(K4E)x5W8SUqII{Vv8$!TA2T2}vU+n#N{^!EPy`~Mb1RsK7s zvAoG^)rw_yycr(1r#P!Fj|tGz44?8^`t>L2dj<_s6ON_Lmr`JsULe#U7};p~z-RWc zFlP7DU0#nnn*~Fgn0HLf@Rr&ylgN~C%PM7s{Imz#HcB!aIMTdK^wq3@nh#uVs|;G! zvdnoIn(>P(&){0n=Gdb;8@8>Pe$9?~4S!Z{0f+4)(TH1i$|8FtTDC2GB=GY_c39Kj zLmASgDhtls;E?9r-Z$;>nI7#_na@fAGWy09Wl1;A7Wu87`g2>MuP2N5tVwdJ6T~)r z6Dykie8o zFY{)-lrpwWcB|1}bhO_^#LmOvU{qXK^Uc{k%QEMr_A>HlY>5qQQej$?w>RpC>9b3{ zD|fJjc|DlsoUp{6@iS+Y>;qQWHwPS!C_cJZuhr;!CMKy=Q2$Ot{cFpeCW#Yj1p0kl z8?Udfxa-KYL*s~6*s1ng+^sC`PMUS^v3bxs@NSa7~`ZK3& zm70%*&jqt(DtsQ_W|mvIdX`w7HBE7JnQ(MjY?#N^PLnkW9VfQD=6ad0G&NP|U35x- z;$dGE_xF38wrQ)R-)>}MJsZ*Ra$!li8fNZr71w z-qlmTG;lpBKXgrVk%dQMnuzQ-8>aRUi^ydN5d=OuOsm#Ob$Of4XAAa-BEkCL6EmPr1~x_uaecnenr9 zD|fz0<;!yqwEN(8a>qk$X_FVKZOh-i*xwm>aL3|HYkRmiv->6V*5>y{3)JcDW{lui z9aw+vkmVOv@%xt!p3)TA^5&Gj|5E-R0pGl9|3Cis|KsI-|2gxj|A)8T+WW6M;{N|5 zk@~*Nc5Jl!VSS){-+%3^$A0hM$1&yizx4jk{>uX2YyA?Mox7$+{YL8X%i`aE_y7Kz zp8B6%YMR`2BLSNd_6Fu#|JOe@sqWePKkm2v<){DcP1BG5ub*-I|98bZ$#TV+4~}#S ZtNYEdD0~EA*ku0X|5(3d215V?0|4|@P7444 literal 0 HcmV?d00001 diff --git a/packages/raw/coreutils.tar.gz b/packages/raw/coreutils.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..cdea3977e134ce2f68f91b98bc7707c3268376a0 GIT binary patch literal 7735 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 literal 0 HcmV?d00001 diff --git a/packages/raw/gfxterm.tar.gz b/packages/raw/gfxterm.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..44132d5be943f90b8bd05a9df86484100c010284 GIT binary patch literal 2537 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 literal 0 HcmV?d00001 diff --git a/packages/raw/iniparse.tar.gz b/packages/raw/iniparse.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1e8f9e05d017c4af1daee796d6f3b1d03635b9bc GIT binary patch literal 842 zcmb2|=HO_FNXlaRpP83gkXTfls#lU&#PD`jZ2m0+k+z-Z)^E6>=D3~3dSh}z*Ot3) z(=NT!oN8pCs%4>J7<+Nc-)}eh7*8F4v1HQ9vz2-U8~XPb-+L^ur|O90qgXRMpFvxDP(kQhtPR~!2!bAp#M z?x_=+sq;ujd@lF5#5uE!(}E63-t#rL^PlnlbAzBv(cAxwhqp9FO#LVST+2IE=eYWt zb5r*R*j%W;@PF;U;Q4HFZ-v}AU(~PtVjs6EbJo*&RRPmK{GV{?@~`*5m;U?Bcs0sF z;(8=U_{;yMSO4p;Zapz6#A<&0^FIyK1^&NG{PSJ$U%1f!-M4?pe~HjPa%ZvK!5M}Y z3|BP&^(Tv#>plPPU->Wj*}l!^>!&2Kov&Z;f5HF%-v2YVv;T^>{ySgwzV-Bv|LZT; zyG1bk;)lSH)&En^eg5@7zV83!>ksGsYrmuZ;di{~j=cY??|nSE>iw>BI94(rv9XD{hQ2R7Z_Y=lzn-Dr(}DRT+>FojQbm6{c1}CqH+!<(E86N&m{njk{U9rtZM@MbRX?un24fguRt5-aY-TGa9+q^mJDr<_^f+c32 z7q+fi<7de=d){tgzVKUmFHSPbMqY1}ySL%Z`;4WFyLVl`_0#Ri4a@1^Zl2f+yDMA|E~J(1hzS)5C4R({yhJLd*mjAsPA{)H=N)1 zUv>8P{VfS;=jwY7{=UEJoBT~_1?Kn_$^!ot|Ghs_?^OF}<`U_mj{l`y|Gz7p)))9a sU*v!38U080OKmvb{@>5k@qem=&6~smW(F*vLHxY@=VtY33;_%b0Bi-d3IG5A literal 0 HcmV?d00001 diff --git a/packages/raw/installer.tar.gz b/packages/raw/installer.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5899892a6f7a95f624de8d3a4d90becd0dabf334 GIT binary patch literal 521 zcmb2|=HO_JNXlaRpP5%&l9-c|TBKK!Sj6yl){p|Gj{G z{(qU~`66x4inPhxNB{S~u8;q_{*Qa|U;eN5fBt)a-7mH1U;owrv%RPH{@?t^|Juan z|AGGx|5tqdzyELj%eEe7hKWD-=g7}~we$1T|E=d4WWMhIx9$J?KP5lx8E*gmUvh8R z=B&tNyTzF{3NoMgf8u}j&-pd))vr0{ZTu%5{x5!-Z}rbR^-=$i&;FC&bNSobKk^U% a#0z+MC*>~)yQ3m)jsL!zH}7D;J>B>JD)P?y zuP|M5aCSOl@8Mm`mxXG*Oh58^*235MC;pt}KA_XHhT+Ek%DD+wPUb$jbIEz{zVtBd zsk73il^!-&mG-c=<$wJSzS{inGb{FwKY_xhRNmww2Locb^P^?uB{|7~mj>j(Y+F81pGyhyXvX{q-Op0It0 zdbQuQTdhuD+TzMDF+byt&wl+HZ$9}~{*?{?!nZ~}<-HhZ^gllHuYKi=O9wvgbuuVV zG23IOar*OooBy4E_iu{7yFT;lrpy;p_uB6KyMNZ-`V7}=#&S&atNyK)vNGW+J@Ma5 z^cHL7zsb+-Bmc*L_%nUw|7APX&)2VC{crcVgzrB;{eS&xf8@bG)4#@FtB?Gj`gi(= zps(`x=c)g{e*eFu+uEr375_gZo%p?fdc)kg&Bn)z-T2w9ty|~HHVFolrH3`{m-~6S z{eYyuQqUIfBNupjS&H3x=3Rbpjnnz~_YUDnoV+g{H1;r`?tT%Vy0{_eQGbW+#wNp1 z&nLpCs}+K!7`PwtD{=p*N=_1#o^ilOMbft+=tcjcYV8FE^&V>szT_Tfnw0Y5_U7nU zu3;@Y?tR|QK|N|yG;B9IX&Tx&XYD-l(ZbQ|QDD(~7vXxbi49H0veGA47@RLlcb=jm zS2j1=-QeI;pZ@|cl=en)tXgnDYvG-#)0xA`2okY2NX zrL3Y*cu&psukQohZ+~y&TO}sPq5m!Mj?|CxDJzf8efv|;M(17i?{ln^WzRuFh zEQz+=a^`p5^PbGEYpt%bZtT;x&7LC=W%piTM$>!wsmU(7=jWPV<+_8^;o;k^S zeY>K-h9eW4KWXpW)%>9BM)#trUpFnBaGc5K&$5Of6WiPJm-780UpQNS{h_;Mt>)fC ztIA8WeFHBtDT=%N{1d4-eT7y{0IOGLpjVR=#}$QxJuGQc5^Nej3i&7)I5u^%s4<;+ zEcI}m%=^AdCb2hNKX<=q5q$El*Xy0Z%H`99TaLC)Rb6A6BD%NRTBSI6!MzOvn`O`1 zgyn4hoM_L;#Mrx_q44pP(D1nCrR)bmF>G5+HocLKIh%gyS)*As3yXB4_&*j$M(&I| z=5r6s+Zo2N*?oh4mDyiLwmE|Hs~Ai4H*zrTR`}4oC`tcpxL3o+4*58YgqD z`EA&{qo=C#&+iEh%QRZupYy~jwac{6N#LElMm|8hDRydvV}h;1v3UU#{_?T9u{+^XKRk#i(Ij!@X(D-Hyju=7q@Hb-ZS`k;LUbsu7$Hs zG%M&ZEIce>d{}-$bUI%(*M+{13i69ZwNy8XoIPy6&_wQM--}iqxf#_bzUc~_*c5Yi z!s-)il_HL`T;dYae$#QMAWZWt$28d+pPN^3TwK&OL+jqrjZ@U;f7aj8t@zkuZ$jlk z&qMceqnnm2a%woxQM59_A|QN+`t!t`%^P?Td!G}Z!Db=#qRU| ze!`CU{V6-#mmcuU)ndNG#r-rn`lcIKgN=l9d+?ooH-24DuYF$Z+HO>~b8Xsbna8Z$ zX5kvs#0|xD#TW{-;JSpun z+fFmh=X-G@T>EcIhJ|0Scv8C^2aamN2c$ANl^lRB2a^DUW?c7teIL%Z#u0*syKH=h` zPhyWmmLF#oNQ*zx+$Z5>cBgei`_4Npa|Cl_&CY)l;E+vY4O(z-Lz+*j@2pd^woi&M zUs7=CPgki{Shc9OxPJ0!-`E`8)n{Ml}c%UvC-`2%$Lu1 z@Fty2bMwz(yLnM@af)Bd8E>Cv9nZ-z7ij?`OG+l|hCi!!PU?bg>yxMb$;oVxl}&SsgN`{YGj{&U=3Wwu`bdhSA_Zf7;& zvV@zWv#0lT$=y^n-Q2S5p1DHBNwGbTW^df?lV?&TWE*^Yy`t-3gV3fGx@}&TlGX8# zmSp=sNxkx6IZMy%l}GPb7%6iW`RqE*TCu4?+DZ4FMf$wM-(IUEocMOFM!M--v~+Zi z@lGM`^%a7;ZJAY7R@q!G`EE|rJSViId8)dspLoV6`RExdnNub+w9=B!d`nxvyxRCi zeK)hBPMpcNqATK#Gh{!UEAYSU_2m4AlUGbO1PF#1@9F*Ve#U$c;ok>4?^P}Yh^`EbU6!l_@ zKiRI7xEZxICTM*kbJI0Dt_6n@Qlc(sK2&sJ=~PIVi_-gR{yl9lnR$Ei zq<*i5`!6IM-74ItdOf1#@njyYs=1mI7G-do7O-}d#(MFGnrZLZ+&Wn#-fZEtIqiY_W zoVYp1M?HP>R83Z^WtWp*?`6%YG3jA8wcGqVaNW{_)(hsmJRz(iE~LzO(e(D7?6{RK zRaUV98CU;KtKC_$Y_DfhlI8=gG^qkEHkmn({!A2jnEgmE*Y>K5?g% zLX}kZm~ez?i|vk^le+Wz;ZpT*evAA|!CN-%cfD9`FR|`o=nIkUx5O>Jep<=Z73$=C zEVXyi%(^+7e>7cs^C{bRZTj;SSKKAi{gyrZth8QVq&)6y_$-~`jG&tb7fiXc^{(Gy z_6$x9e^Iq7{I8>LosLO8d#c5t;qvLTk8mfVbHGCy(rFPsNxYpYE2K8p{!|$NyCCV^%jk1HFW!ZQajx*yRec^VV+qe&MC1 z_m-;)SC+lb@Du9n+}9pE{qgHp^Nl)Zzi*i@+Ho~t-c9dn>C5;U-;^oa7MS0d3#^&9d z-YN2-f>Q0Llb+MQRjb!2A|$=#-jhzf7hq|zwYa-|2TPl z*!183vv2-C`h7$F_Wl1ChaUZxKdW@#|LoG(cmMSnt0J|tjd)c&CMY;Iv2Y6EW&ChH PRL@{s^vs!|f`I`55H9fw literal 0 HcmV?d00001 diff --git a/packages/raw/lua.tar.gz b/packages/raw/lua.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8b334956fc12660311e75846d808c6dd8a392bc3 GIT binary patch literal 2995 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 YL^J{xIN)d0d;XArazELGp@M+{01H$300000 literal 0 HcmV?d00001 diff --git a/packages/raw/micro.tar.gz b/packages/raw/micro.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..dea88e164dc6beae747936acec9836c5357f70b1 GIT binary patch literal 3989 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 literal 0 HcmV?d00001 diff --git a/packages/raw/minify.tar.gz b/packages/raw/minify.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..90fe30d15b14a3e29581fdfef410f3b460b607a0 GIT binary patch literal 16379 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 Jg<%3C0|4f}q8tDK literal 0 HcmV?d00001 diff --git a/packages/raw/pid.tar.gz b/packages/raw/pid.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..bd5b355e19d0485559771086ca119386d735cb31 GIT binary patch literal 1370 zcmb2|=HO_JNXlaRUyzxiSCUx7@HQ$p|F#>?xAgyA&Gt7}u6=Q}s5$M%2HqD9rP>=3 zxyd>6T`c==Y<-#^bH31QTlS58k7vCr zY5MX<^Xb8-8{aE--}-J-xuxcONPq6x=y|-E&m-d^|8IM}M*WC&>fg&c;+{T_A2i%c z{`6l{@;~RF^7bG3%KzrG{5O~Sw>zM+?RCD{zNZPy7Q%m)yZ%!YoH_CR=fzk5-zw#Q zyg%3cN4~Y*nWkyG<8})t&D-?vyvYCf`^$YksLZSTZgai8<*)qj|CfL5|9q)>r&;ac zt-0Bc^EdpT@A;oU!>|9Rz>h1>?ayyZ2>7t@pX~9kAAjhiY{!snxjUQMaL_VxP zk>7Wf`Jdgt-P4{b{!@m)xjg?LwhM}Vk@)(*^?QBx_2};(?ic&Y-~T_iDQxv>bDL+o zf3LopWyL#LmzQ%1<4!gH`OA#t@9lkDc;MTChWOrN>pHeu`X_DT&75-XeMZCv)y@L} zAua_@-#?`osyftM=iqSZpR(&o=;_n;8+KfotP&B|v18)Y95ME_Gf%BadNzBSdDgN? znQ2*pl|Ms_erqp^Jm&JxTkx*IMID`Gg4yDe?=N2?q;ukVwo$kD)tT=Yg_Q(9OSZh} zI@6IjMeRwUo6-r3qQe}jU#E7v%jCpPzAd=f{`vNolkOD#;GU-9xm06yPR2g(wKsFE zq=gGLA1z+w(8VM$b<-`IH+99+IA%&N-OzQ%taG8!p$VK9PDRLVl=<*PE#-5&nap<0 z69*Rd9aL@B=9yVk@Oc{Jv`a0=E6cMNr#AAZEuSe;8TDks(XOo1(km|h4d{JmZMxz7 zJ#ML2-$dSZtV#=hShh;>!0~<~b%%>GQ5SXw{p4L7sTgtO6vq*pD@XTF>*Lq|EgQ9S z)&ES*&CBkcvD&(eSNhrYsR;s4E2m0Ga+kL~t2`cNdwnYVyw{J;70H+yG`0I=*VTh+&ER!%gc26jYW@Lpu(w&`P=U zSZkI2=Z@y%{f|C8H#(=9^s;Yj__}Yf+^u&lYi=R?3SymNB7zRq;RVw#b81>t!-n3-(p52sH_5T6?!h zB2U(to$-3%=YkX6B5J{A{ZdvGwq%EDSOQirj^1bN*uuxPOHvrZ)V^+d+RFaXVJ;u@Mf_LK^m@K8z&B1{XItHp>CF%HMEV~* zoOl1?ockNasuEvX{nFZb?U>{4ymb~EUu|t?-N~~3Skpw4j{6LETX)S6*S!-v;omIj zJG%q!%qZKtr#JL#@y*p=Q`hf#t!MEfYp!v8R?6bt%S^Yta$6jmyUzH@pG^&49rs*0 z79%YocF3&LpHFIQ7FTXht>UmUd2Z6M?ws|lgy6XF<8F5UZ1z8|XWsw+*!%tL_y7NV zZMyHD_5APkI=8vv?Dok$l|JCU|NrMR_rBN5&3W*9fAEFqiAy>sMDy#ef7$+|J?|Cw z&)x-(N?ArWy`ZS7{B~q?vrx-)nETt|Cfb-ufP6vZt2gz h`}^10zhv{7H}|S;-aPYd zMq-(W&VlZYF`i3Krd--zt9si)&B2?0LvF=>=0oqDFHQbZcb@IBpxocO!}4|<^SG{B zbN-QPkGju)<8-;Yx}EBlcDbtb15wiJ-h9}5n#K3RsT6HPwZcP(6g-657GLn!=-ey! z;H>lX)fZPDFYuIYUzqJF^Xu-mvz0pA}Mm;Id2@PB^m|Hr!j(oH%F9fS`#E%@*KuzsHz_ev8p{%0vaI{u%}&-~|p`k%jlX~0aKJ@)s~Y8vJ*{CD{C{r(Ss#ADj8Pn1t~%Y4B8;ZM2d zSNo@J^FJwmxbb}d1flB10=NJ0H_bToS^k6lhyVYN{@=#>Z@w8&t&6h@!;h2re)lQvAY=9@+8~jHf1OY z-|Bt1>sWE3)vuf|&5t3=m}(`JU;RFz;}WPTJH;S7bb;jgtt(mFy*%Vl}~=Vc$(E;ClX z6m@4}eN^|>=vV63y{{)GzBgMl=gP79;*ok;H}jLfc)y)`%52`P^tDB=gEaH!zFl(F zd~fL4^|Sq~S6}gYf9;#W%{a|=-M2fUWb#ihkc-oMt-4uF|M;O_Jlk{Lb`RatL(_T0n(c+&=B@K(S9mJ^L5`V&y3>_cHZL_6N8B|95};JASGx=ivzl|Ngi9uyK{Zi#Gr1HF_83 z@7d7Xv}cEi!{7E__gDUJ32cg;?DFCN`K4F>S1yeO9;J3nu}Ik9sqH%J;;O4Q zXR^ZI{$o@tjPmD9$(ihFI_v*FGsXM9m%TXWYJRu5!uaRx-sc6mT<;#KgQr7O#=TXHt(Q7Y&TgN@dC6T^SFJ|i$ls2(hpsOk8}!s3 zVp`5x@jam5E5+&ixtndJuVw_zW;6V1etGJ7_9+uAmM|_p@?-zT11nlH=KhxznVA1G|6l*pUTMk$?jlEhC$>NL75@2i)z0^B{Teg>=>JF&*=O}m)BgB7 ztrliXWz1FF@Ap4n<9~hKoFdInXMTRMJI?+?_>29W>;D

=*mnfBl!d)Xns|9%ZLR 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