diff --git a/src/modules/data/ByteData.cpp b/src/modules/data/ByteData.cpp index 3c82250f3..de84ed907 100644 --- a/src/modules/data/ByteData.cpp +++ b/src/modules/data/ByteData.cpp @@ -45,10 +45,23 @@ ByteData::ByteData(const void *d, size_t size) memcpy(data, d, size); } +ByteData::ByteData(void *d, size_t size, bool own) + : size(size) +{ + if (own) + data = (char *) d; + else + { + create(); + memcpy(data, d, size); + } +} + ByteData::ByteData(const ByteData &d) : size(d.size) { create(); + memcpy(data, d.data, size); } ByteData::~ByteData() diff --git a/src/modules/data/ByteData.h b/src/modules/data/ByteData.h index 15b0dd51a..644b71437 100644 --- a/src/modules/data/ByteData.h +++ b/src/modules/data/ByteData.h @@ -37,6 +37,7 @@ public: ByteData(size_t size); ByteData(const void *d, size_t size); + ByteData(void *d, size_t size, bool own); ByteData(const ByteData &d); virtual ~ByteData(); diff --git a/src/modules/data/DataModule.cpp b/src/modules/data/DataModule.cpp index 297b755ad..4e923e4ca 100644 --- a/src/modules/data/DataModule.cpp +++ b/src/modules/data/DataModule.cpp @@ -117,11 +117,6 @@ namespace love namespace data { -CompressedData *compress(Compressor::Format format, love::Data *rawdata, int level) -{ - return compress(format, (const char *) rawdata->getData(), rawdata->getSize(), level); -} - CompressedData *compress(Compressor::Format format, const char *rawbytes, size_t rawsize, int level) { Compressor *compressor = Compressor::getCompressor(format); @@ -245,6 +240,11 @@ ByteData *DataModule::newByteData(const void *d, size_t size) return new ByteData(d, size); } +ByteData *DataModule::newByteData(void *d, size_t size, bool own) +{ + return new ByteData(d, size, own); +} + static StringMap::Entry encoderEntries[] = { { "base64", ENCODE_BASE64 }, @@ -253,6 +253,14 @@ static StringMap::Entry encoderEntries[] = static StringMap encoders(encoderEntries, sizeof(encoderEntries)); +static StringMap::Entry containerEntries[] = +{ + { "data", CONTAINER_DATA }, + { "string", CONTAINER_STRING }, +}; + +static StringMap containers(containerEntries, sizeof(containerEntries)); + bool getConstant(const char *in, EncodeFormat &out) { return encoders.find(in, out); @@ -268,5 +276,20 @@ std::vector getConstants(EncodeFormat) return encoders.getNames(); } +bool getConstant(const char *in, ContainerType &out) +{ + return containers.find(in, out); +} + +bool getConstant(ContainerType in, const char *&out) +{ + return containers.find(in, out); +} + +std::vector getConstants(ContainerType) +{ + return containers.getNames(); +} + } // data } // love diff --git a/src/modules/data/DataModule.h b/src/modules/data/DataModule.h index 14462cdc7..0469b757b 100644 --- a/src/modules/data/DataModule.h +++ b/src/modules/data/DataModule.h @@ -42,17 +42,24 @@ enum EncodeFormat ENCODE_MAX_ENUM }; +enum ContainerType +{ + CONTAINER_DATA, + CONTAINER_STRING, + CONTAINER_MAX_ENUM +}; + /** * Compresses a block of memory using the given compression format. * * @param format The compression format to use. - * @param rawdata The data to compress. + * @param rawbytes The data to compress. + * @param rawsize The size in bytes of the data to compress. * @param level The amount of compression to apply (between 0 and 9.) * A value of -1 indicates the default amount of compression. * Specific formats may not use every level. * @return The newly compressed data. **/ -CompressedData *compress(Compressor::Format format, Data *rawdata, int level = -1); CompressedData *compress(Compressor::Format format, const char *rawbytes, size_t rawsize, int level = -1); /** @@ -98,6 +105,10 @@ bool getConstant(const char *in, EncodeFormat &out); bool getConstant(EncodeFormat in, const char *&out); std::vector getConstants(EncodeFormat); +bool getConstant(const char *in, ContainerType &out); +bool getConstant(ContainerType in, const char *&out); +std::vector getConstants(ContainerType); + class DataModule : public Module { @@ -112,6 +123,7 @@ public: DataView *newDataView(Data *data, size_t offset, size_t size); ByteData *newByteData(size_t size); ByteData *newByteData(const void *d, size_t size); + ByteData *newByteData(void *d, size_t size, bool own); static DataModule instance; diff --git a/src/modules/data/wrap_DataModule.cpp b/src/modules/data/wrap_DataModule.cpp index 14ccbbf73..9eb6f7956 100644 --- a/src/modules/data/wrap_DataModule.cpp +++ b/src/modules/data/wrap_DataModule.cpp @@ -41,6 +41,15 @@ namespace love namespace data { +ContainerType luax_checkcontainertype(lua_State *L, int idx) +{ + const char *str = luaL_checkstring(L, idx); + ContainerType ctype = CONTAINER_STRING; + if (!getConstant(str, ctype)) + luax_enumerror(L, "container type", getConstants(ctype), str); + return ctype; +} + int w_newDataView(lua_State *L) { Data *data = luax_checkdata(L, 1); @@ -103,38 +112,47 @@ int w_newByteData(lua_State *L) int w_compress(lua_State *L) { - const char *fstr = luaL_checkstring(L, 1); + ContainerType ctype = luax_checkcontainertype(L, 1); + + const char *fstr = luaL_checkstring(L, 2); Compressor::Format format = Compressor::FORMAT_LZ4; if (!Compressor::getConstant(fstr, format)) return luax_enumerror(L, "compressed data format", Compressor::getConstants(format), fstr); - int level = (int) luaL_optinteger(L, 3, -1); + int level = (int) luaL_optinteger(L, 4, -1); + size_t rawsize = 0; + const char *rawbytes = nullptr; - CompressedData *cdata = nullptr; - if (lua_isstring(L, 2)) - { - size_t rawsize = 0; - const char *rawbytes = luaL_checklstring(L, 2, &rawsize); - luax_catchexcept(L, [&](){ cdata = compress(format, rawbytes, rawsize, level); }); - } + if (lua_isstring(L, 3)) + rawbytes = luaL_checklstring(L, 3, &rawsize); else { - Data *rawdata = luax_checktype(L, 2); - luax_catchexcept(L, [&](){ cdata = compress(format, rawdata, level); }); + Data *rawdata = luax_checktype(L, 3); + rawsize = rawdata->getSize(); + rawbytes = (const char *) rawdata->getData(); } - luax_pushtype(L, cdata); + CompressedData *cdata = nullptr; + luax_catchexcept(L, [&](){ cdata = compress(format, rawbytes, rawsize, level); }); + + if (ctype == CONTAINER_DATA) + luax_pushtype(L, cdata); + else + lua_pushlstring(L, (const char *) cdata->getData(), cdata->getSize()); + cdata->release(); return 1; } int w_decompress(lua_State *L) { + ContainerType ctype = luax_checkcontainertype(L, 1); + char *rawbytes = nullptr; size_t rawsize = 0; - if (luax_istype(L, 1, CompressedData::type)) + if (luax_istype(L, 2, CompressedData::type)) { CompressedData *data = luax_checkcompresseddata(L, 1); rawsize = data->getDecompressedSize(); @@ -143,7 +161,7 @@ int w_decompress(lua_State *L) else { Compressor::Format format = Compressor::FORMAT_LZ4; - const char *fstr = luaL_checkstring(L, 1); + const char *fstr = luaL_checkstring(L, 2); if (!Compressor::getConstant(fstr, format)) return luax_enumerror(L, "compressed data format", Compressor::getConstants(format), fstr); @@ -151,27 +169,39 @@ int w_decompress(lua_State *L) size_t compressedsize = 0; const char *cbytes = nullptr; - if (luax_istype(L, 2, Data::type)) + if (luax_istype(L, 3, Data::type)) { Data *data = luax_checktype(L, 2); cbytes = (const char *) data->getData(); compressedsize = data->getSize(); } else - cbytes = luaL_checklstring(L, 2, &compressedsize); + cbytes = luaL_checklstring(L, 3, &compressedsize); luax_catchexcept(L, [&](){ rawbytes = decompress(format, cbytes, compressedsize, rawsize); }); } - lua_pushlstring(L, rawbytes, rawsize); - delete[] rawbytes; + if (ctype == CONTAINER_DATA) + { + ByteData *data = nullptr; + luax_catchexcept(L, [&]() { data = DataModule::instance.newByteData(rawbytes, rawsize, true); }); + luax_pushtype(L, Data::type, data); + data->release(); + } + else + { + lua_pushlstring(L, rawbytes, rawsize); + delete[] rawbytes; + } return 1; } int w_encode(lua_State *L) { - const char *formatstr = luaL_checkstring(L, 1); + ContainerType ctype = luax_checkcontainertype(L, 1); + + const char *formatstr = luaL_checkstring(L, 2); EncodeFormat format; if (!getConstant(formatstr, format)) return luax_enumerror(L, "encode format", getConstants(format), formatstr); @@ -179,33 +209,50 @@ int w_encode(lua_State *L) size_t srclen = 0; const char *src = nullptr; - if (luax_istype(L, 2, Data::type)) + if (luax_istype(L, 3, Data::type)) { - Data *data = luax_totype(L, 2); + Data *data = luax_totype(L, 3); src = (const char *) data->getData(); srclen = data->getSize(); } else - src = luaL_checklstring(L, 2, &srclen); + src = luaL_checklstring(L, 3, &srclen); - size_t linelen = (size_t) luaL_optinteger(L, 3, 0); + size_t linelen = (size_t) luaL_optinteger(L, 4, 0); size_t dstlen = 0; char *dst = nullptr; luax_catchexcept(L, [&](){ dst = encode(format, src, srclen, dstlen, linelen); }); - if (dst != nullptr) - lua_pushlstring(L, dst, dstlen); - else - lua_pushstring(L, ""); + if (ctype == CONTAINER_DATA) + { + ByteData *data = nullptr; + if (dst != nullptr) + luax_catchexcept(L, [&]() { data = DataModule::instance.newByteData(dst, dstlen, true); }); + else + luax_catchexcept(L, [&]() { data = DataModule::instance.newByteData(0); }); + + luax_pushtype(L, Data::type, data); + data->release(); + } + else + { + if (dst != nullptr) + lua_pushlstring(L, dst, dstlen); + else + lua_pushstring(L, ""); + + delete[] dst; + } - delete[] dst; return 1; } int w_decode(lua_State *L) { - const char *formatstr = luaL_checkstring(L, 1); + ContainerType ctype = luax_checkcontainertype(L, 1); + + const char *formatstr = luaL_checkstring(L, 2); EncodeFormat format; if (!getConstant(formatstr, format)) return luax_enumerror(L, "decode format", getConstants(format), formatstr); @@ -213,25 +260,40 @@ int w_decode(lua_State *L) size_t srclen = 0; const char *src = nullptr; - if (luax_istype(L, 2, Data::type)) + if (luax_istype(L, 3, Data::type)) { - Data *data = luax_totype(L, 2); + Data *data = luax_totype(L, 3); src = (const char *) data->getData(); srclen = data->getSize(); } else - src = luaL_checklstring(L, 2, &srclen); + src = luaL_checklstring(L, 3, &srclen); size_t dstlen = 0; char *dst = nullptr; luax_catchexcept(L, [&](){ dst = decode(format, src, srclen, dstlen); }); - if (dst != nullptr) - lua_pushlstring(L, dst, dstlen); - else - lua_pushstring(L, ""); + if (ctype == CONTAINER_DATA) + { + ByteData *data = nullptr; + if (dst != nullptr) + luax_catchexcept(L, [&]() { data = DataModule::instance.newByteData(dst, dstlen, true); }); + else + luax_catchexcept(L, [&]() { data = DataModule::instance.newByteData(0); }); + + luax_pushtype(L, Data::type, data); + data->release(); + } + else + { + if (dst != nullptr) + lua_pushlstring(L, dst, dstlen); + else + lua_pushstring(L, ""); + + delete[] dst; + } - delete[] dst; return 1; } @@ -259,13 +321,14 @@ int w_hash(lua_State *L) return 1; } -static int w_pack(lua_State *L, bool data) +static int w_pack(lua_State *L) { - const char *fmt = luaL_checkstring(L, 1); + ContainerType ctype = luax_checkcontainertype(L, 1); + const char *fmt = luaL_checkstring(L, 2); luaL_Buffer_53 b; - lua53_str_pack(L, fmt, 2, &b); + lua53_str_pack(L, fmt, 3, &b); - if (data) + if (ctype == CONTAINER_DATA) { Data *d = nullptr; luax_catchexcept(L, [&]() { d = DataModule::instance.newByteData(b.nelems); }); @@ -281,16 +344,6 @@ static int w_pack(lua_State *L, bool data) return 1; } -int w_packString(lua_State *L) -{ - return w_pack(L, false); -} - -int w_packData(lua_State *L) -{ - return w_pack(L, true); -} - int w_unpack(lua_State *L) { const char *fmt = luaL_checkstring(L, 1); @@ -321,8 +374,7 @@ static const luaL_Reg functions[] = { "decode", w_decode }, { "hash", w_hash }, - { "packString", w_packString }, - { "packData", w_packData }, + { "pack", w_pack }, { "unpack", w_unpack }, { "getPackedSize", lua53_str_packsize }, diff --git a/src/modules/data/wrap_DataModule.h b/src/modules/data/wrap_DataModule.h index bf7ce444c..e982f8bcc 100644 --- a/src/modules/data/wrap_DataModule.h +++ b/src/modules/data/wrap_DataModule.h @@ -23,12 +23,14 @@ // LOVE #include "common/config.h" #include "common/runtime.h" +#include "DataModule.h" namespace love { namespace data { +ContainerType luax_checkcontainertype(lua_State *L, int idx); int w_compress(lua_State *L); int w_decompress(lua_State *L); extern "C" LOVE_EXPORT int luaopen_love_data(lua_State *L); diff --git a/src/modules/math/wrap_Math.cpp b/src/modules/math/wrap_Math.cpp index 5829b826e..3113bf4a8 100644 --- a/src/modules/math/wrap_Math.cpp +++ b/src/modules/math/wrap_Math.cpp @@ -360,20 +360,21 @@ int w_compress(lua_State *L) return luax_enumerror(L, "compressed data format", Compressor::getConstants(format), fstr); int level = (int) luaL_optinteger(L, 3, -1); + size_t rawsize = 0; + const char *rawbytes = nullptr; - CompressedData *cdata = nullptr; if (lua_isstring(L, 1)) - { - size_t rawsize = 0; - const char *rawbytes = luaL_checklstring(L, 1, &rawsize); - luax_catchexcept(L, [&](){ cdata = compress(format, rawbytes, rawsize, level); }); - } + rawbytes = luaL_checklstring(L, 1, &rawsize); else { Data *rawdata = luax_checktype(L, 1); - luax_catchexcept(L, [&](){ cdata = compress(format, rawdata, level); }); + rawsize = rawdata->getSize(); + rawbytes = (const char *) rawdata->getData(); } + CompressedData *cdata = nullptr; + luax_catchexcept(L, [&](){ cdata = compress(format, rawbytes, rawsize, level); }); + luax_pushtype(L, cdata); cdata->release(); return 1; diff --git a/src/scripts/nogame.lua b/src/scripts/nogame.lua index 493f1c883..0ab524f2c 100644 --- a/src/scripts/nogame.lua +++ b/src/scripts/nogame.lua @@ -25,10 +25,10 @@ function love.nogame() R = {} - R.bg = {} + R.bg = {[1]={}, [2]={}} -- cloud_1.png - R.bg.cloud_1_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.bg[1].cloud_1_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAALEAAABUCAYAAADNoNb0AAAGqElEQVR4nO3de6wcVR0H8M\ +lL20bX1iItFANVEEkpai1tWBJg6JEkxrwCWrAlEpMNdHYaDSpJjU+Eo0mmqBi+odKUuID\ Y4xExFdjhJJqRYKCYkzUP6RCedWalkv949wmze3O3t3ZmXNm7/19kv3j7u7M+e293zs7c2\ @@ -63,9 +63,9 @@ function love.nogame() HtxVbsr7PwKMOTfo/1uE66aUgIw3pQys96NQNMczdjnI/NuFa6j2/cEixUeUq668Au3Dr1\ 80iavKPocc+TZhDaKN0WdxVOFdNizUWH8DD+gnvxq6nHI0020kaIQ8gqhuyHsRchDmMvQh\ zGXoQ4jL3/A4htWI/rxYLaAAAAAElFTkSuQmCC\ - "), "cloud_1.png") + ") -- cloud_1@2x.png - R.bg.cloud_1_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.bg[2].cloud_1_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAAWIAAACoCAYAAADaWOQcAAAOEElEQVR4nO3debQfZX3H8f\ cl4SZkITkmshmwIYgBTVgLZRMwBiwuOaCCqCig4illq2KL2x+etmqtWFcqirGlLlXcDngE\ BbHUKEKhKkILFRO2YpEkEiGQQLjpH98bEvAmmZnfzDyzvF/n3HNzYGaeLwn5/J77zLMMrV\ @@ -136,9 +136,9 @@ function love.nogame() odAExIWpGkJlsL3Ezsd/M94HrgyaQVbUUbgviZJhBT4OYBLyCOsN4V2AGYSRxoKqnbHgWW\ E6fJ3wssA24DfkmcFrQ2XWn5tTGIJalTUk5fkyRhEEtScgaxJCVmEEtSYgaxJCVmEEtSYg\ axJCVmEEtSYgaxJCX2/5ixqodpMZm+AAAAAElFTkSuQmCC\ - "), "cloud_1@2x.png") + ") -- cloud_2.png - R.bg.cloud_2_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.bg[1].cloud_2_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAALEAAABUCAYAAADNoNb0AAAF0klEQVR4nO3dW4hVVRzH8e\ 8cc2w0M6uZhjE1m0lNsbLsOj5FXgoyKlMLSqMxYx6znsughzDMh56sibALFSEUpFQiFUVk\ SdJDNF2s7DZYUGNTDU7j9PA/kWSkc87/v9dl/z/gy6hr/w/nx5q1115r7YaRkRGcS1kldA\ @@ -169,9 +169,9 @@ function love.nogame() iZA13IAXMuTwP88z0PFXXRohfF9wBzkXGyy8s25Lst/DduyLcnXQTciwz8x4YqwtVlCAnv\ RmBPqCJieBljMzJ+ugY5t6I1bDnuGPqQ5ZTbkamzH8OWE0eInauLbxR1yfMQu+R5iF3yPM\ QueX8BzokhiMHuRk0AAAAASUVORK5CYII=\ - "), "cloud_2.png") + ") -- cloud_2@2x.png - R.bg.cloud_2_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.bg[2].cloud_2_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAAWIAAACoCAYAAADaWOQcAAAMXUlEQVR4nO3de6zf8x3H8e\ fR9kQxpZ2WCkqrOlKrul9Kmds2m5lths0lw1oWhMzcZtnMNrK4zUzS2NjFzDW2mWxzN5Ni\ ZshQrbmUMkxrSteq7o+PE1XV8/ud8/v93p/P9/t8JJKmOel55cjvdd6/z+/z/Xy6lixZgi\ @@ -234,9 +234,9 @@ function love.nogame() KwG7AfsC+wbmwcqdKeA24ArgduBd6OjZMHi/i9uoCtgB2B7YHtcFqW+uNpYDpwD+moyvsp\ /KS0drCIJSlY1bevSVL2LGJJCmYRS1Iwi1iSglnEkhTMIpakYBaxJAWziCUpmEUsScH+D0\ EmR28m6dqwAAAAAElFTkSuQmCC\ - "), "cloud_2@2x.png") + ") -- cloud_3.png - R.bg.cloud_3_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.bg[1].cloud_3_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAALEAAABUCAYAAADNoNb0AAAFhklEQVR4nO3dWYxfUxwH8E\ +rElGh1tSe1NJUiMTEFtEmJR5ILEG8iC1p8SAhggdeRCW1e6JCiCdLBKkSsST2pfYtDCFE\ SSNFhDZ9YOrhZGTKjLbTmfn9zr3n89zMfPs/3zn/c+89995pGzZs0DQ1mx4doGm2VitxU7\ @@ -266,9 +266,9 @@ function love.nogame() 8rkOqKjA1DcTjzQDZ+FCnKi+P8gMhvCC8krcx1R6kanmEo+0h3IEvUCZSeZq73wezTpl88\ 57eBnP4afQRBOgKyVueqx9BTfVayVuqtdK3FSvlbip3t9rOy6aUG6iAgAAAABJRU5ErkJg\ gg==\ - "), "cloud_3.png") + ") -- cloud_3@2x.png - R.bg.cloud_3_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.bg[2].cloud_3_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAAWIAAACoCAYAAADaWOQcAAALhklEQVR4nO3daaxdVRnG8f\ 8tpUUopdQKSEtb5qkBQSwEiUBDUagyiBIpiVZAQcBqkDAlihJAgZKIUEIIKE4Eq0yCTEJB\ YtFiDEhoGVqGho7QkDKUoUDrh3Xh9HLnc88579p7/39Jk/bTfdqc/fS96661dtu6deuQJM\ @@ -327,9 +327,9 @@ function love.nogame() fGUUk9QzqSfzfpbu13Y+MILOKcbUG6gH4vYE9SMW9Lupxe6s0a4HngWeB/wGOkC9tfjgyl\ rlnEkhTMfcSSFMwilqRgFrEkBbOIJSmYRSxJwSxiSQpmEUtSMItYkoJZxJIU7P83pECPnM\ xUCgAAAABJRU5ErkJggg==\ - "), "cloud_3@2x.png") + ") -- cloud_4.png - R.bg.cloud_4_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.bg[1].cloud_4_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAALEAAABUCAYAAADNoNb0AAAFz0lEQVR4nO3dW4hfxR0H8M\ +mGhuNxqLWe0niNUaNEol3tJrY4L312tYbIlpB0BcVvDy1YIgoKqioEGKfKlgo2IcGqigY\ xIiYxtYoahSLNWhDi7fqJnH7MCsmMSy7c+bc9v/7wJ9AsjPze/juyfzPmZkzNDIyIoQ+m9\ @@ -360,9 +360,9 @@ function love.nogame() mO69p2vxrzpd+69TWNEfphvZSD+WoIMM28oHwarsK1WFD3YKEzVmEZfi+dRVybJkK8pVk4\ 09bvsdtdO+/TC2VsknZkrJMeXLyIZ/FeUwU0HeIQioujqELvRYhD70WIQ+9FiEPvRYhD7/\ 0fHvIyRu6OJTkAAAAASUVORK5CYII=\ - "), "cloud_4.png") + ") -- cloud_4@2x.png - R.bg.cloud_4_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.bg[2].cloud_4_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAAWIAAACoCAYAAADaWOQcAAAMOklEQVR4nO3de+zXVR3H8e\ dP7oKCCoLITUEylJuXykQltQJvXbzNQZnlJS0vMFeuZWpO29yylO4zMZelkq2823Rqma6G\ U1DLNPCSBojmBVkR6K8/zu9niL/r93Len8/3+3xsTOZl56VzLw7ncy4tra2tSJLibBUdQJ\ @@ -424,11 +424,12 @@ function love.nogame() MBc4EBgVG0dSBVYDvwfuAG4n4Kn7HBq5iLe0K+nB0qnAZGAC6amm4cC2cbGkpvcG8DLplY\ xngaeAx0hvyK2Mi5VPMxWxJBWSa6iSFMwilqRgFrEkBbOIJSmYRSxJwSxiSQpmEUtSMItY\ koJZxJIUzCKWpGAWsSQF+x/RmkrWbHB7LQAAAABJRU5ErkJggg==\ - "), "cloud_4@2x.png") - R.chain = {} + ") + + R.chain = {[1]={}, [2]={}} -- a.png - R.chain.a_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[1].a_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAADj0lEQVRIic2WTWwUZRjHf/\ OxM/vRtSnttgsYSttN2yUBWqQKWC1BE6iGBj3IAcHoRcWLiRxMTCTiyejRqCeNPejBkxSQ\ Fg6GxEjSkLYgEmDXrwjFOmtry352Zl4Pg4WZnd2uhhD+yVze93me3zPvx/O8khCCeyn5nt\ @@ -448,9 +449,9 @@ function love.nogame() rtaAk8CI9ftsR+7z7zDPXqsKUzbECL+4DTURTwF7gIu+SdX4xDho/fKnVvo+jfmTgcjkQI\ DUFEZZ04DW14bavaoIfIKzjPOVAi4H/FdxYB8wCPRwu1xlgCngJDCMc+iqqlbgXdN9+y69\ a/oHeH87HFWBERQAAAAASUVORK5CYII=\ - "), "a.png") + ") -- a@2x.png - R.chain.a_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[2].a_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAH3ElEQVRoge2aXWwVxxXHf7\ O7d++XDcQOBgzYOMHUNg00JHyHD4coLYSEVn1paJq0iCZqm1YofUirfqjNQ6u+oJY0ahu5\ fWgDEZEipfBQERRaaMCQNnGggCDU2MSNqQMmYPD1/dqdPqz3foB39861rYaIv3SlmdkzZ8\ @@ -491,9 +492,9 @@ function love.nogame() 7L2BevOlM4lUVUhBGVEfQZt2E0TEavvyEJcxr4Gc56H52BY3wRaMPwZZ5UGReBMtK5RPSF\ j9tFoJEwESf0vxQngDwLJwzpRhASOCGRM8Bx4ACwj3G4yjVeBD82+MTfNrxF8GbHLYI3O/\ 4HzN2+0cWu1vEAAAAASUVORK5CYII=\ - "), "a@2x.png") + ") -- e.png - R.chain.e_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[1].e_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAADrElEQVRIic2WW2hcVRSGv3\ OZk8wtJjhpUk1bk6a1sZhqsVJFLFpQIxIRivhQBd+kogQvCIooFJ8K9cHQF5+kbz6UqkGJ\ BEVF0ZRaBkxtNZOml9w6k06ayXQm55y9tw+niXPOmWlSLaU/zMu/11r/WmfP3v/WlFLcTO\ @@ -514,9 +515,9 @@ function love.nogame() E7WzNAL1W8cCVB8LxxP7BPnMla9vAY7mgWlS+BK9BakhhtjVg72jG33GED/XhPkrBnrVJw\ CS3AXqAHb1+WLocc3jkbBA5TYUP/V/CG4ZZ9l94w/AMIA3oLRCGsQwAAAABJRU5ErkJggg\ ==\ - "), "e.png") + ") -- e@2x.png - R.chain.e_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[2].e_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAH2klEQVRoge2ae4xVRx3HPz\ PnnPvYe/cur12WLQu7FBrYllJgC6VgTZfGKqBNaku0sSYkbRq1GEhMmviI1uh/YjVg1JTE\ pDWgRIlajAGxKLUFAWlB3UIXlvdjW3bZ133fc8Y/zj2Xvbt7zz3n7qKl4ZtsMr85v5n5fe\ @@ -557,9 +558,9 @@ function love.nogame() hZE5XKISIBRCxkR7eba9FmTAYhhjY9BXwL2IF9TFWOcXwIJPOPeF7LP+rxi0y+7WPKflT0\ oXkINBqcp1wPAK3YMdbp5CN12PGeLuyowTHsu+dNecp1swh+aPCRf214m+CtjtsEb3X8F5\ Lt7GKi5gIEAAAAAElFTkSuQmCC\ - "), "e@2x.png") + ") -- g.png - R.chain.g_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[1].g_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAADvElEQVRIidWWTUxcVRTHf/\ d9DcwM00FomYYAQ9uhbdIUUWNrmtqA2pguqk3UBYp148LEdKELv5aaNHFRTWpMTGy0lcYY\ MW60Ma0BGrW18hUhEW0tjICKM1CgwLxh3rx3XQzFecMwUGOaepK3+Z/zzu+ee+479wkpJb\ @@ -580,9 +581,9 @@ function love.nogame() pbdmHs3hwHHseR57PbshYgQAXwJlI+aQ2MqakfhrCHryGvJ8FyEOVe1OpSjHvC6DurbTTl\ I+AVYHylhKsBM9spRBhoBvYDO4CyRe8kMEBm604jZRSxvKqbA/7Hdtv+Jv5/gX8Djf96T7\ NLXZQAAAAASUVORK5CYII=\ - "), "g.png") + ") -- g@2x.png - R.chain.g_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[2].g_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAIJ0lEQVRoge2aWZBU1RnHf+\ feXuf2DMyAs7AYlgEGnLBETQVBEkFMjKIVLYwlSbRSZVW0ECV5yYsVH5JKkVS5lSmtSpFo\ MDFWEhcCWAYTDMNmRjZFBhhHBodtmBmYpffue08ebndPd9F36Z4hAYv/073nfuec//+e7T\ @@ -624,9 +625,9 @@ function love.nogame() QeAnGSK5SwgylkI/fo5UezfGmQGMvggkdZAS/B5EpR+1YSzq1PF4ZzXkdiIZ9GFeQHiWMl\ otH6N9jeQB4EHMA8pyYvPbMT2nP3IZXSMphlpgGbAQmAd8CbMbZ33fGOZVkU+Bw5jLz7+4\ zC8CXZb4wt9VuyrwSsdVgVc6rgq80vFfbDnjk7U4d3EAAAAASUVORK5CYII=\ - "), "g@2x.png") + ") -- m.png - R.chain.m_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[1].m_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAADkUlEQVRIic2WXWwUVRTHf3\ dmdva7RLst21Zql1ZsqxBoKvKRCOqDAhF50wRNNCFR8UGMEh+MEjE+GI36pM8SP2J8MAoG\ LYkPJoQSTFpNCrHtVjSUQrtrW7a70935uD5srZ2d6W4lhPBP5mHOuff+zr33zDkjpJTcTC\ @@ -646,9 +647,9 @@ function love.nogame() tQbcBZywL02vLXx62pPylVI3NBB5dhtaR3IU2AcM+QZV4xcjTrnFHLT/mNJL/WmssQwyWw\ ApEYkoautt6Pel0Dqbi8AnwBHKp+SrWsB/lQT2A7uAjfxXrrLAANAHHAOu1lpopcAbplv2\ v/SG6R/27zmuL3E50QAAAABJRU5ErkJggg==\ - "), "m.png") + ") -- m@2x.png - R.chain.m_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[2].m_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAH/klEQVRoge2aaXBVZxnHf+\ 855557c29CAkIMWUGaNCRsJh22KGVRRqCVOnXGkUGxiqPW4mD9UJ2Oy/jFGT/gSNvROti6\ QRWXD8VlFKUlU0ixVqQ0gCxDIAKlkJClufu9rx/OPTd3ydmyaOnwn7kz533P8z7LPed53u\ @@ -690,9 +691,9 @@ function love.nogame() 7izUhpmFPM8A38Hw94kpOMkHgT6SOcwTG8dBoIQ0DhE98HY7CDQWyjFK/yswCshzMMqQ5m\ d+GKMkcg7jw/ow8CJTcJRrqgx82+Adf9rwjoG3O+4YeLvjv1Ru0JflEZTtAAAAAElFTkSu\ QmCC\ - "), "m@2x.png") + ") -- n.png - R.chain.n_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[1].n_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAADbElEQVRIidWWTWxUVRSAv/\ v+Zt60dChQWlNpB1NqF9aimFajMjVRsSWwUEJcYI0LNNG4MJjoojHG+LdgZ3TXGDEmRuOC\ aDCAfxijEWP4SRcCBQpF+bHTTpmZN9P3d13M1On0dV4HYgie5OW9d+495zvn3fvOuUJKyY\ @@ -711,9 +712,9 @@ function love.nogame() bbwHYWFG4I74cbgS/csUurrA9/wTt+JRSktC3D3NGLcV/HJLANXx5iQXZLAQFaKHb8IffE\ RWEfPoN3ehJ/0gJfIhpN1PZG9LvbMda3e2jKxxQ7/uVqDpcCzkkC2AE8AtwBzLWGKWAUOA\ h8gpRnEcGsrgf4n8lNe0z8/wL/AWkORFUNbGW+AAAAAElFTkSuQmCC\ - "), "n.png") + ") -- n@2x.png - R.chain.n_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[2].n_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAHaElEQVRoge2aa2wU1xXHf/\ PY99rgEAdDjTEBHEgbwisENSmPUJSYCslRqZK2n5qoqlRF1Cpp0yp8qPoBNaUNTZXHJ0RV\ KSlIlULV1ORVSExFAzVJREJqXjHQ2BQ3xsbe987M7Yfx7M7indnZ9W5TR/5/unPvufee/9\ @@ -752,9 +753,9 @@ function love.nogame() t1cZN9tcD0L3djvrxJHbrV/I0kAnwLM29f6W8kx4G9mB6KN6+7BKpJ0I4mYDNmbHU5MA8z\ 8mXtvRSmsejDNPsnMPP+FQZgnVErgv83+Nz/qzZNcKpjmuBUxzTBqY7/AmDdgoJ+h2mjAA\ AAAElFTkSuQmCC\ - "), "n@2x.png") + ") -- o.png - R.chain.o_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[1].o_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG\ 9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBh\ Y2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4On\ @@ -791,9 +792,9 @@ function love.nogame() 62ELoSvYDZsXRFrm/3hs8/gvZ+4OfvlKkuCmMhpJJ57ALeTKj9kyfGGUS1DfKzNij19MTo\ 6IcekinPJPDTUiAWZEHMzyQRCTep7x6rJwYYoQ34CacIDYSIPmKsbBxt99mcx9LD/w/hhO\ 2bAAMAGcakBZrrNusAAAAASUVORK5CYII=\ - "), "o.png") + ") -- o@2x.png - R.chain.o_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[2].o_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAH90lEQVRoge2abXAV1RnHf/\ ty3/NKEhJeApeEgLEqUSRNeBGKIjO2aFvHStXWji3TdjqljF/amVpbO5WxnSlDazuj0mod\ 2xlKYaTDDFYEq4DyYkcGSwjUxIaEAAkQyMvNzb27e7cfNnvvDZI9uzfJWBz+n/acfZ5z/v\ @@ -834,9 +835,9 @@ function love.nogame() WST+QSQjYqgV8BDwDpg3Wzfwjt5FmM9oukuvut/2lCR4r4kYvCKJWTUGsqkMsLstsysUbG\ T7EuC40Z43kRaDbWtZLVWJORF/RgCXsOODFehGB8BdpQgSVYByP1WMKjgJ1siWHdmGgGjg\ C7sXYGwvxKLpgIgf9X+NTfNrwu8FrHdYHXOv4HXDGZ3/Dil9AAAAAASUVORK5CYII=\ - "), "o@2x.png") + ") -- square.png - R.chain.square_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[1].square_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAACHklEQVRIie2VzWsTQRjGn9\ l2t7GktmmLJiD1YPw4+HHwIIqi9FCw0D9AsRRF/Ac82LNQ/wJPQi+CV48WROqhgrZGglJJ\ CYKGQm1Mk7j5aHdms/N4sFg/ss2uloKlA3MYeN/nN8+8vO8IktjOZWwrbRe4I4DtoTM8CX\ @@ -849,9 +850,9 @@ function love.nogame() SxqV7APrRB8pSuZItq9uKPPlSvzlKX3+ZJHtdOYesa/6fmT+rap0U1N0j1eoi68iFD8oCW\ 5a2dNBvjrQaSCV3LvdG13BOSe7WqhtJoWcM/SqBsQLvr9TMhrO5Q+aGB/7p2/o+/C/z/gd\ 8AcTpAf+9BGPQAAAAASUVORK5CYII=\ - "), "square.png") + ") -- square@2x.png - R.chain.square_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.chain[2].square_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADpElEQVRoge2Zb2hVZRzHP+\ c558w796c5YbG1miaVu9tKeucLEyosK7GwIChEhjGKIRYGUYkyohgRMkYGG4kU6asiYrKi\ ImS+KMIgWLoWrJW4zMlWY+rN8+fbiy0ha5b3nHPlyPnAgQv3PN/n9+Gee5/n+V1LEtcy5m\ @@ -871,11 +872,12 @@ function love.nogame() 243C2M+CQOI9mS5JCk+8p8JQowpD9fNXw1/NJ09Se5LNp8S7WpK2S1Iw8eGc5JEmBb8MSN\ KspPuTnr8Ugkh6XFIhOPWxgskhSRqXtKoUcyfZVbuU1cy1JIaBLczthBKnlIJXhey/ibST\ CaadTDDtZIJpJxNMO5lg2skE0841L/gnbItHb7ZckqQAAAAASUVORK5CYII=\ - "), "square@2x.png") - R.duckloon = {} + ") + + R.duckloon = {[1]={}, [2]={}} -- blink.png - R.duckloon.blink_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.duckloon[1].blink_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAAJEAAADNCAYAAAC4lJKvAAAAGXRFWHRTb2Z0d2FyZQBBZG\ 9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBh\ Y2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4On\ @@ -1141,9 +1143,9 @@ function love.nogame() PgQs002cYwcQDZasRfVUfALXzw69+T9ZBvoxBGmd+9INNXf1rkvQn/0Y12V780PyBpw0XG\ Yw5tmFbustI2+fkPEQb9Yoa+ecx/o4DiAaLFkLa8o4aPTcie3aMdYPLBrWxTlh86T2cq9c\ Ups9BstgGcREg2UA0WAZQDRYBhANlsHS2vL/BRgAoPt28wv5YoIAAAAASUVORK5CYII=\ - "), "blink.png") + ") -- blink@2x.png - R.duckloon.blink_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.duckloon[2].blink_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAASIAAAGaCAYAAACrJ06uAAAgAElEQVR4nOy9ebgtx1XY+6\ veZ7izZku2hCQs2Vi2CDaW55HEDA/C4ITwEfIygJmS90gg+RiSEHDyMhBI+PICL/BIXh4v\ jEmwGY0J4IlBHmIDxpPAA5Y8SbakK+le3XvPOXv3en90VfeqVdW9e8/7nLvX9917urqqa1\ @@ -1833,9 +1835,9 @@ function love.nogame() lo2IrLqXwAX5S+nhItPfGas/9/Kwn+gChHwT0qH6lNtHcqhW5VZu83wrq27UOu+x4ATfta\ +4VJ9+w2gPyKqUsiCysrIauWzTzMrKauSyILKyshq5LIisrKxGLgsiKyurkcuCyMrKauSy\ ILKyshq5LIisrKxGLgsiKyurkeu/ABHELVe8zEuIAAAAAElFTkSuQmCC\ - "), "blink@2x.png") + ") -- normal.png - R.duckloon.normal_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.duckloon[1].normal_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAAJEAAADNCAYAAAC4lJKvAAAgAElEQVR4nO2debwlR3WYv9\ N3e+vMaEbLaB0JARISMouMRywCJIyNQTHEISEQb8EsxiRxTBwbnIBJMI632NgxJpFXYvDC\ ajAy2CARVgkQi8SmXRqN0Db7vJm33O6ukz+qqru6b/d999533zLSO7/fTHdXV1dXV33vnF\ @@ -2120,9 +2122,9 @@ function love.nogame() WXrwBnm4RDUROkZQA+jf3arZWZ2aM6N4fMzq5TFddfKmesNwWO/eGVhZigmZ+7lu5HLkOa\ NoZaml2aP/yt9avgBpJNiDZlxbI5OtuUFcsmRJuyYtmEaFNWLP8frUcjd38kwVYAAAAASU\ VORK5CYII=\ - "), "normal.png") + ") -- normal@2x.png - R.duckloon.normal_2x_png = love.filesystem.newFileData(love.data.decode("base64", "\ + R.duckloon[2].normal_png = love.data.decode("data", "base64", "\ iVBORw0KGgoAAAANSUhEUgAAASIAAAGaCAYAAACrJ06uAAAgAElEQVR4nOy9ebgtx1XY+6\ ve+5xzZ83WiCRbtmwNBGPJFjaeADMEYoiJkwckIY/JEF5IIHwBkhAwCUkg08tLeIGQvDwS\ EiCMBmwMOJ4YPOERD5IH2ZIs25KQdCXdq3vvOWd3r/zRVd2rVlf37j2dvc+5e33fvaerq7\ @@ -2822,7 +2824,7 @@ function love.nogame() R2a/Mzb9wmvieaJLEPLNSI/6M+8eyaY6VVuFzfOdnLpR66IngRd9177mU3/2raPdIKdKyo\ HIyclp5HJDMycnp5HLgcjJyWnkciBycnIauRyInJycRi4HIicnp5HLgcjJyWnkciBycnIa\ uRyInJycRq7/D3Tgxzs5ujSKAAAAAElFTkSuQmCC\ - "), "normal@2x.png") + ") -- 30log.lua begins local function require_30log() @@ -3167,37 +3169,38 @@ function love.nogame() love.graphics.setBackgroundColor(43/255, 165/255, 223/255) love.physics.setMeter(64) - local hdpi = love.window.getDPIScale() > 1 + local dpiscale = love.window.getDPIScale() > 1 and 2 or 1 + local settings = {dpiscale = dpiscale} - R.chain.n = hdpi and R.chain.n_2x_png or R.chain.n_png - R.chain.o = hdpi and R.chain.o_2x_png or R.chain.o_png - R.chain.g = hdpi and R.chain.g_2x_png or R.chain.g_png - R.chain.a = hdpi and R.chain.a_2x_png or R.chain.a_png - R.chain.m = hdpi and R.chain.m_2x_png or R.chain.m_png - R.chain.e = hdpi and R.chain.e_2x_png or R.chain.e_png - R.chain.square = hdpi and R.chain.square_2x_png or R.chain.square_png - R.duckloon.blink = hdpi and R.duckloon.blink_2x_png or R.duckloon.blink_png - R.duckloon.normal = hdpi and R.duckloon.normal_2x_png or R.duckloon.normal_png - R.bg.cloud_1 = hdpi and R.bg.cloud_1_2x_png or R.bg.cloud_1_png - R.bg.cloud_2 = hdpi and R.bg.cloud_2_2x_png or R.bg.cloud_2_png - R.bg.cloud_3 = hdpi and R.bg.cloud_3_2x_png or R.bg.cloud_3_png - R.bg.cloud_4 = hdpi and R.bg.cloud_4_2x_png or R.bg.cloud_4_png + R.chain.n = R.chain[dpiscale].n_png + R.chain.o = R.chain[dpiscale].o_png + R.chain.g = R.chain[dpiscale].g_png + R.chain.a = R.chain[dpiscale].a_png + R.chain.m = R.chain[dpiscale].m_png + R.chain.e = R.chain[dpiscale].e_png + R.chain.square = R.chain[dpiscale].square_png + R.duckloon.blink = R.duckloon[dpiscale].blink_png + R.duckloon.normal = R.duckloon[dpiscale].normal_png + R.bg.cloud_1 = R.bg[dpiscale].cloud_1_png + R.bg.cloud_2 = R.bg[dpiscale].cloud_2_png + R.bg.cloud_3 = R.bg[dpiscale].cloud_3_png + R.bg.cloud_4 = R.bg[dpiscale].cloud_4_png - img_duckloon_normal = love.graphics.newImage(R.duckloon.normal) - img_duckloon_blink = love.graphics.newImage(R.duckloon.blink) + img_duckloon_normal = love.graphics.newImage(R.duckloon.normal, settings) + img_duckloon_blink = love.graphics.newImage(R.duckloon.blink, settings) - img_n = love.graphics.newImage(R.chain.n) - img_o = love.graphics.newImage(R.chain.o) - img_g = love.graphics.newImage(R.chain.g) - img_a = love.graphics.newImage(R.chain.a) - img_m = love.graphics.newImage(R.chain.m) - img_e = love.graphics.newImage(R.chain.e) - img_square = love.graphics.newImage(R.chain.square) + img_n = love.graphics.newImage(R.chain.n, settings) + img_o = love.graphics.newImage(R.chain.o, settings) + img_g = love.graphics.newImage(R.chain.g, settings) + img_a = love.graphics.newImage(R.chain.a, settings) + img_m = love.graphics.newImage(R.chain.m, settings) + img_e = love.graphics.newImage(R.chain.e, settings) + img_square = love.graphics.newImage(R.chain.square, settings) - img_cloud_1 = love.graphics.newImage(R.bg.cloud_1) - img_cloud_2 = love.graphics.newImage(R.bg.cloud_2) - img_cloud_3 = love.graphics.newImage(R.bg.cloud_3) - img_cloud_4 = love.graphics.newImage(R.bg.cloud_4) + img_cloud_1 = love.graphics.newImage(R.bg.cloud_1, settings) + img_cloud_2 = love.graphics.newImage(R.bg.cloud_2, settings) + img_cloud_3 = love.graphics.newImage(R.bg.cloud_3, settings) + img_cloud_4 = love.graphics.newImage(R.bg.cloud_4, settings) cloud_images = { img_cloud_1, diff --git a/src/scripts/nogame.lua.h b/src/scripts/nogame.lua.h index 66d760e96..77520ed53 100644 --- a/src/scripts/nogame.lua.h +++ b/src/scripts/nogame.lua.h @@ -86,13 +86,13 @@ const unsigned char nogame_lua[] = 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6e, 0x6f, 0x67, 0x61, 0x6d, 0x65, 0x28, 0x29, 0x0a, 0x09, 0x52, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x0a, - 0x09, 0x52, 0x2e, 0x62, 0x67, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x0a, + 0x09, 0x52, 0x2e, 0x62, 0x67, 0x20, 0x3d, 0x20, 0x7b, 0x5b, 0x31, 0x5d, 0x3d, 0x7b, 0x7d, 0x2c, 0x20, 0x5b, + 0x32, 0x5d, 0x3d, 0x7b, 0x7d, 0x7d, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x62, 0x67, 0x5b, 0x31, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x5f, 0x70, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, + 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x4c, 0x45, 0x41, 0x41, 0x41, 0x42, 0x55, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x44, 0x4e, 0x6f, 0x4e, 0x62, 0x30, 0x41, 0x41, 0x41, 0x47, 0x71, 0x45, 0x6c, 0x45, 0x51, @@ -228,14 +228,12 @@ const unsigned char nogame_lua[] = 0x09, 0x7a, 0x47, 0x58, 0x6f, 0x51, 0x34, 0x6a, 0x4c, 0x33, 0x2f, 0x41, 0x34, 0x68, 0x74, 0x57, 0x49, 0x2f, 0x72, 0x78, 0x59, 0x4c, 0x61, 0x41, 0x41, 0x41, 0x41, 0x41, 0x45, 0x6c, 0x46, 0x54, 0x6b, 0x53, 0x75, 0x51, 0x6d, 0x43, 0x43, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x2e, 0x70, 0x6e, 0x67, 0x22, - 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x5f, 0x32, 0x78, 0x5f, 0x70, - 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, - 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, - 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x62, 0x67, 0x5b, 0x32, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x5f, 0x70, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, + 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x57, 0x49, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x44, 0x61, 0x57, 0x4f, 0x51, 0x63, 0x41, 0x41, 0x41, 0x4f, 0x45, 0x45, 0x6c, 0x45, 0x51, @@ -515,14 +513,12 @@ const unsigned char nogame_lua[] = 0x09, 0x61, 0x78, 0x4a, 0x43, 0x56, 0x6d, 0x45, 0x45, 0x74, 0x53, 0x59, 0x67, 0x61, 0x78, 0x4a, 0x43, 0x58, 0x32, 0x2f, 0x35, 0x69, 0x78, 0x71, 0x6f, 0x64, 0x70, 0x4d, 0x5a, 0x6d, 0x2b, 0x41, 0x41, 0x41, 0x41, 0x41, 0x45, 0x6c, 0x46, 0x54, 0x6b, 0x53, 0x75, 0x51, 0x6d, 0x43, 0x43, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x40, 0x32, 0x78, 0x2e, 0x70, - 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x62, 0x67, 0x5b, 0x31, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x5f, 0x70, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, + 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x4c, 0x45, 0x41, 0x41, 0x41, 0x42, 0x55, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x44, 0x4e, 0x6f, 0x4e, 0x62, 0x30, 0x41, 0x41, 0x41, 0x46, 0x30, 0x6b, 0x6c, 0x45, 0x51, @@ -641,14 +637,12 @@ const unsigned char nogame_lua[] = 0x78, 0x52, 0x31, 0x79, 0x66, 0x4d, 0x51, 0x75, 0x2b, 0x52, 0x35, 0x69, 0x46, 0x33, 0x79, 0x50, 0x4d, 0x5c, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x58, 0x38, 0x42, 0x7a, 0x6f, 0x6b, 0x68, 0x69, 0x4d, 0x48, 0x75, 0x52, 0x6b, 0x30, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x2e, 0x70, 0x6e, 0x67, 0x22, - 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x5f, 0x32, 0x78, 0x5f, 0x70, - 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, - 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, - 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x62, 0x67, 0x5b, 0x32, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x5f, 0x70, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, + 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x57, 0x49, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x44, 0x61, 0x57, 0x4f, 0x51, 0x63, 0x41, 0x41, 0x41, 0x4d, 0x58, 0x55, 0x6c, 0x45, 0x51, @@ -895,14 +889,12 @@ const unsigned char nogame_lua[] = 0x41, 0x57, 0x7a, 0x69, 0x43, 0x55, 0x70, 0x6d, 0x45, 0x55, 0x73, 0x53, 0x63, 0x48, 0x2b, 0x44, 0x30, 0x5c, 0x0a, 0x09, 0x45, 0x6d, 0x52, 0x32, 0x38, 0x6d, 0x36, 0x64, 0x71, 0x77, 0x41, 0x41, 0x41, 0x41, 0x41, 0x45, 0x6c, 0x46, 0x54, 0x6b, 0x53, 0x75, 0x51, 0x6d, 0x43, 0x43, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x40, 0x32, 0x78, 0x2e, 0x70, - 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x62, 0x67, 0x5b, 0x31, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x5f, 0x70, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, + 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x4c, 0x45, 0x41, 0x41, 0x41, 0x42, 0x55, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x44, 0x4e, 0x6f, 0x4e, 0x62, 0x30, 0x41, 0x41, 0x41, 0x46, 0x68, 0x6b, 0x6c, 0x45, 0x51, @@ -1016,14 +1008,12 @@ const unsigned char nogame_lua[] = 0x46, 0x53, 0x76, 0x6c, 0x62, 0x69, 0x70, 0x33, 0x74, 0x39, 0x72, 0x4f, 0x79, 0x36, 0x61, 0x55, 0x47, 0x36, 0x69, 0x41, 0x67, 0x41, 0x41, 0x41, 0x41, 0x42, 0x4a, 0x52, 0x55, 0x35, 0x45, 0x72, 0x6b, 0x4a, 0x67, 0x5c, 0x0a, 0x09, 0x67, 0x67, 0x3d, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x2e, 0x70, 0x6e, 0x67, 0x22, - 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x5f, 0x32, 0x78, 0x5f, 0x70, - 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, - 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, - 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x62, 0x67, 0x5b, 0x32, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x5f, 0x70, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, + 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x57, 0x49, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x44, 0x61, 0x57, 0x4f, 0x51, 0x63, 0x41, 0x41, 0x41, 0x4c, 0x68, 0x6b, 0x6c, 0x45, 0x51, @@ -1254,14 +1244,12 @@ const unsigned char nogame_lua[] = 0x6f, 0x4a, 0x5a, 0x78, 0x4a, 0x49, 0x55, 0x37, 0x50, 0x38, 0x33, 0x70, 0x45, 0x43, 0x50, 0x6e, 0x4d, 0x5c, 0x0a, 0x09, 0x78, 0x55, 0x43, 0x67, 0x41, 0x41, 0x41, 0x41, 0x42, 0x4a, 0x52, 0x55, 0x35, 0x45, 0x72, 0x6b, 0x4a, 0x67, 0x67, 0x67, 0x3d, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x40, 0x32, 0x78, 0x2e, 0x70, - 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x62, 0x67, 0x5b, 0x31, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x5f, 0x70, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, + 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x4c, 0x45, 0x41, 0x41, 0x41, 0x42, 0x55, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x44, 0x4e, 0x6f, 0x4e, 0x62, 0x30, 0x41, 0x41, 0x41, 0x46, 0x7a, 0x30, 0x6c, 0x45, 0x51, @@ -1380,14 +1368,12 @@ const unsigned char nogame_lua[] = 0x30, 0x57, 0x49, 0x51, 0x2b, 0x39, 0x46, 0x69, 0x45, 0x50, 0x76, 0x52, 0x59, 0x68, 0x44, 0x37, 0x2f, 0x5c, 0x0a, 0x09, 0x30, 0x66, 0x48, 0x76, 0x49, 0x79, 0x52, 0x75, 0x36, 0x4f, 0x4a, 0x54, 0x6b, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x2e, 0x70, 0x6e, 0x67, 0x22, - 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x5f, 0x32, 0x78, 0x5f, 0x70, - 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, - 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, - 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x62, 0x67, 0x5b, 0x32, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x5f, 0x70, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, + 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x57, 0x49, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x44, 0x61, 0x57, 0x4f, 0x51, 0x63, 0x41, 0x41, 0x41, 0x4d, 0x4f, 0x6b, 0x6c, 0x45, 0x51, @@ -1631,15 +1617,14 @@ const unsigned char nogame_lua[] = 0x09, 0x6b, 0x6f, 0x4a, 0x5a, 0x78, 0x4a, 0x49, 0x55, 0x7a, 0x43, 0x4b, 0x57, 0x70, 0x47, 0x41, 0x57, 0x73, 0x53, 0x51, 0x46, 0x2b, 0x78, 0x2f, 0x52, 0x6d, 0x6b, 0x72, 0x57, 0x62, 0x48, 0x42, 0x37, 0x4c, 0x51, 0x41, 0x41, 0x41, 0x41, 0x42, 0x4a, 0x52, 0x55, 0x35, 0x45, 0x72, 0x6b, 0x4a, 0x67, 0x67, 0x67, 0x3d, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x40, 0x32, 0x78, 0x2e, 0x70, - 0x6e, 0x67, 0x22, 0x29, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x0a, + 0x09, 0x22, 0x29, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x7b, 0x5b, 0x31, 0x5d, 0x3d, 0x7b, 0x7d, + 0x2c, 0x20, 0x5b, 0x32, 0x5d, 0x3d, 0x7b, 0x7d, 0x7d, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x61, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x61, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, - 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, - 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, - 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x31, 0x5d, 0x2e, 0x61, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x42, 0x77, 0x41, 0x41, 0x41, 0x41, 0x63, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x42, 0x79, 0x44, 0x64, 0x2b, 0x55, 0x41, 0x41, 0x41, 0x44, 0x6a, 0x30, 0x6c, 0x45, 0x51, @@ -1714,13 +1699,12 @@ const unsigned char nogame_lua[] = 0x4d, 0x63, 0x2b, 0x69, 0x71, 0x71, 0x6c, 0x62, 0x67, 0x58, 0x64, 0x4e, 0x39, 0x2b, 0x79, 0x36, 0x39, 0x5c, 0x0a, 0x09, 0x61, 0x2f, 0x6f, 0x48, 0x65, 0x48, 0x38, 0x37, 0x48, 0x46, 0x57, 0x42, 0x45, 0x52, 0x51, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x61, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x61, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x61, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x32, 0x5d, 0x2e, 0x61, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x44, 0x67, 0x41, 0x41, 0x41, 0x41, 0x34, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x68, 0x6a, 0x73, 0x65, 0x41, 0x41, 0x41, 0x48, 0x33, 0x45, 0x6c, 0x45, 0x51, @@ -1879,13 +1863,12 @@ const unsigned char nogame_lua[] = 0x4d, 0x54, 0x66, 0x4e, 0x72, 0x78, 0x46, 0x38, 0x47, 0x62, 0x48, 0x4c, 0x59, 0x49, 0x33, 0x4f, 0x2f, 0x5c, 0x0a, 0x09, 0x34, 0x48, 0x7a, 0x4e, 0x32, 0x2b, 0x30, 0x63, 0x57, 0x75, 0x31, 0x76, 0x45, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x61, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x65, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x65, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, - 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, - 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, - 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x31, 0x5d, 0x2e, 0x65, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x42, 0x77, 0x41, 0x41, 0x41, 0x41, 0x63, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x42, 0x79, 0x44, 0x64, 0x2b, 0x55, 0x41, 0x41, 0x41, 0x44, 0x72, 0x45, 0x6c, 0x45, 0x51, @@ -1963,13 +1946,12 @@ const unsigned char nogame_lua[] = 0x39, 0x6c, 0x39, 0x34, 0x77, 0x2f, 0x41, 0x4d, 0x49, 0x41, 0x33, 0x6f, 0x4c, 0x52, 0x43, 0x47, 0x73, 0x51, 0x77, 0x41, 0x41, 0x41, 0x41, 0x42, 0x4a, 0x52, 0x55, 0x35, 0x45, 0x72, 0x6b, 0x4a, 0x67, 0x67, 0x67, 0x5c, 0x0a, 0x09, 0x3d, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x65, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x65, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x65, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x32, 0x5d, 0x2e, 0x65, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x44, 0x67, 0x41, 0x41, 0x41, 0x41, 0x34, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x68, 0x6a, 0x73, 0x65, 0x41, 0x41, 0x41, 0x48, 0x32, 0x6b, 0x6c, 0x45, 0x51, @@ -2128,13 +2110,12 @@ const unsigned char nogame_lua[] = 0x32, 0x31, 0x34, 0x6d, 0x2b, 0x43, 0x74, 0x6a, 0x74, 0x73, 0x45, 0x62, 0x33, 0x58, 0x38, 0x46, 0x35, 0x5c, 0x0a, 0x09, 0x4c, 0x74, 0x37, 0x47, 0x4b, 0x69, 0x35, 0x67, 0x49, 0x45, 0x41, 0x41, 0x41, 0x41, 0x41, 0x45, 0x6c, 0x46, 0x54, 0x6b, 0x53, 0x75, 0x51, 0x6d, 0x43, 0x43, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x65, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x67, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x67, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, - 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, - 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, - 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x31, 0x5d, 0x2e, 0x67, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x42, 0x77, 0x41, 0x41, 0x41, 0x41, 0x63, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x42, 0x79, 0x44, 0x64, 0x2b, 0x55, 0x41, 0x41, 0x41, 0x44, 0x76, 0x45, 0x6c, 0x45, 0x51, @@ -2213,13 +2194,12 @@ const unsigned char nogame_lua[] = 0x74, 0x76, 0x2b, 0x4a, 0x76, 0x35, 0x2f, 0x67, 0x58, 0x38, 0x44, 0x6a, 0x66, 0x39, 0x36, 0x54, 0x37, 0x5c, 0x0a, 0x09, 0x4e, 0x4c, 0x58, 0x5a, 0x51, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x67, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x67, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x67, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x32, 0x5d, 0x2e, 0x67, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x44, 0x67, 0x41, 0x41, 0x41, 0x41, 0x34, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x68, 0x6a, 0x73, 0x65, 0x41, 0x41, 0x41, 0x49, 0x4a, 0x30, 0x6c, 0x45, 0x51, @@ -2384,13 +2364,12 @@ const unsigned char nogame_lua[] = 0x73, 0x64, 0x56, 0x67, 0x56, 0x63, 0x36, 0x72, 0x67, 0x71, 0x38, 0x30, 0x76, 0x46, 0x66, 0x62, 0x44, 0x6e, 0x6a, 0x6b, 0x37, 0x55, 0x34, 0x64, 0x33, 0x45, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x67, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x6d, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6d, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, - 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, - 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, - 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x31, 0x5d, 0x2e, 0x6d, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x42, 0x77, 0x41, 0x41, 0x41, 0x41, 0x63, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x42, 0x79, 0x44, 0x64, 0x2b, 0x55, 0x41, 0x41, 0x41, 0x44, 0x6b, 0x55, 0x6c, 0x45, 0x51, @@ -2466,13 +2445,12 @@ const unsigned char nogame_lua[] = 0x09, 0x76, 0x2f, 0x53, 0x47, 0x36, 0x52, 0x2f, 0x32, 0x37, 0x7a, 0x6d, 0x75, 0x4c, 0x33, 0x45, 0x35, 0x30, 0x51, 0x41, 0x41, 0x41, 0x41, 0x42, 0x4a, 0x52, 0x55, 0x35, 0x45, 0x72, 0x6b, 0x4a, 0x67, 0x67, 0x67, 0x3d, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x6d, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x6d, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6d, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x32, 0x5d, 0x2e, 0x6d, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x44, 0x67, 0x41, 0x41, 0x41, 0x41, 0x34, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x68, 0x6a, 0x73, 0x65, 0x41, 0x41, 0x41, 0x48, 0x2f, 0x6b, 0x6c, 0x45, 0x51, @@ -2634,13 +2612,12 @@ const unsigned char nogame_lua[] = 0x6f, 0x47, 0x33, 0x4f, 0x2b, 0x34, 0x59, 0x65, 0x4c, 0x76, 0x6a, 0x76, 0x31, 0x52, 0x75, 0x30, 0x4a, 0x66, 0x6c, 0x45, 0x5a, 0x54, 0x74, 0x41, 0x41, 0x41, 0x41, 0x41, 0x45, 0x6c, 0x46, 0x54, 0x6b, 0x53, 0x75, 0x5c, 0x0a, 0x09, 0x51, 0x6d, 0x43, 0x43, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x6d, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x6e, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, - 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, - 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, - 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x31, 0x5d, 0x2e, 0x6e, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x42, 0x77, 0x41, 0x41, 0x41, 0x41, 0x63, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x42, 0x79, 0x44, 0x64, 0x2b, 0x55, 0x41, 0x41, 0x41, 0x44, 0x62, 0x45, 0x6c, 0x45, 0x51, @@ -2713,13 +2690,12 @@ const unsigned char nogame_lua[] = 0x4e, 0x65, 0x30, 0x7a, 0x38, 0x2f, 0x77, 0x4c, 0x2f, 0x41, 0x57, 0x6b, 0x4f, 0x52, 0x46, 0x55, 0x4e, 0x62, 0x47, 0x57, 0x2b, 0x41, 0x41, 0x41, 0x41, 0x41, 0x45, 0x6c, 0x46, 0x54, 0x6b, 0x53, 0x75, 0x51, 0x6d, 0x43, 0x43, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x6e, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x6e, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x32, 0x5d, 0x2e, 0x6e, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x44, 0x67, 0x41, 0x41, 0x41, 0x41, 0x34, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x68, 0x6a, 0x73, 0x65, 0x41, 0x41, 0x41, 0x48, 0x61, 0x45, 0x6c, 0x45, 0x51, @@ -2869,13 +2845,12 @@ const unsigned char nogame_lua[] = 0x2f, 0x71, 0x7a, 0x5a, 0x4e, 0x63, 0x4b, 0x70, 0x6a, 0x6d, 0x75, 0x42, 0x55, 0x78, 0x7a, 0x54, 0x42, 0x71, 0x59, 0x37, 0x2f, 0x41, 0x6d, 0x44, 0x64, 0x67, 0x6f, 0x4a, 0x2b, 0x68, 0x32, 0x6d, 0x6a, 0x41, 0x41, 0x5c, 0x0a, 0x09, 0x41, 0x41, 0x41, 0x45, 0x6c, 0x46, 0x54, 0x6b, 0x53, 0x75, 0x51, 0x6d, 0x43, 0x43, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x6e, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x6f, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6f, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, - 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, - 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, - 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x31, 0x5d, 0x2e, 0x6f, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x42, 0x77, 0x41, 0x41, 0x41, 0x41, 0x63, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x42, 0x79, 0x44, 0x64, 0x2b, 0x55, 0x41, 0x41, 0x41, 0x41, 0x47, 0x58, 0x52, 0x46, 0x57, @@ -3018,13 +2993,12 @@ const unsigned char nogame_lua[] = 0x42, 0x78, 0x74, 0x39, 0x39, 0x6d, 0x63, 0x78, 0x39, 0x4c, 0x44, 0x2f, 0x77, 0x2f, 0x68, 0x68, 0x4f, 0x5c, 0x0a, 0x09, 0x32, 0x62, 0x41, 0x41, 0x4d, 0x41, 0x47, 0x63, 0x61, 0x6b, 0x42, 0x5a, 0x72, 0x72, 0x4e, 0x75, 0x73, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x6f, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x6f, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6f, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x32, 0x5d, 0x2e, 0x6f, 0x5f, 0x70, 0x6e, 0x67, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, + 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x44, 0x67, 0x41, 0x41, 0x41, 0x41, 0x34, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x68, 0x6a, 0x73, 0x65, 0x41, 0x41, 0x41, 0x48, 0x39, 0x30, 0x6c, 0x45, 0x51, @@ -3185,13 +3159,12 @@ const unsigned char nogame_lua[] = 0x58, 0x2b, 0x4e, 0x54, 0x66, 0x4e, 0x72, 0x77, 0x75, 0x38, 0x46, 0x72, 0x48, 0x64, 0x59, 0x48, 0x58, 0x4f, 0x76, 0x34, 0x48, 0x58, 0x44, 0x47, 0x5a, 0x33, 0x2f, 0x44, 0x69, 0x6c, 0x39, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x6f, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x6e, - 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x2e, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, - 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x31, 0x5d, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, + 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, + 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x42, 0x77, 0x41, 0x41, 0x41, 0x41, 0x63, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x42, 0x79, 0x44, 0x64, 0x2b, 0x55, 0x41, 0x41, 0x41, 0x43, 0x48, 0x6b, 0x6c, 0x45, 0x51, @@ -3238,13 +3211,12 @@ const unsigned char nogame_lua[] = 0x61, 0x47, 0x42, 0x2f, 0x37, 0x70, 0x32, 0x2f, 0x6f, 0x2b, 0x2f, 0x43, 0x2f, 0x7a, 0x2f, 0x67, 0x64, 0x5c, 0x0a, 0x09, 0x38, 0x41, 0x63, 0x54, 0x70, 0x41, 0x66, 0x2b, 0x39, 0x42, 0x47, 0x50, 0x51, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x32, 0x78, - 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, - 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, - 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x32, 0x5d, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, + 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x73, + 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x44, 0x67, 0x41, 0x41, 0x41, 0x41, 0x34, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x6f, 0x68, 0x6a, 0x73, 0x65, 0x41, 0x41, 0x41, 0x44, 0x70, 0x45, 0x6c, 0x45, 0x51, @@ -3321,15 +3293,14 @@ const unsigned char nogame_lua[] = 0x35, 0x6c, 0x67, 0x32, 0x73, 0x6b, 0x45, 0x30, 0x38, 0x34, 0x31, 0x4c, 0x2f, 0x67, 0x6e, 0x62, 0x49, 0x74, 0x48, 0x62, 0x37, 0x5a, 0x63, 0x6b, 0x71, 0x51, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, - 0x67, 0x22, 0x29, 0x0a, - 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x0a, + 0x09, 0x22, 0x29, 0x0a, + 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x7b, 0x5b, 0x31, 0x5d, + 0x3d, 0x7b, 0x7d, 0x2c, 0x20, 0x5b, 0x32, 0x5d, 0x3d, 0x7b, 0x7d, 0x7d, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x2e, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, - 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, 0x6f, - 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, 0x61, - 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x5b, 0x31, 0x5d, 0x2e, 0x62, 0x6c, 0x69, + 0x6e, 0x6b, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, + 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x4a, 0x45, 0x41, 0x41, 0x41, 0x44, 0x4e, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x34, 0x6c, 0x4a, 0x4b, 0x76, 0x41, 0x41, 0x41, 0x41, 0x47, 0x58, 0x52, 0x46, 0x57, @@ -4390,13 +4361,12 @@ const unsigned char nogame_lua[] = 0x57, 0x41, 0x5a, 0x51, 0x44, 0x52, 0x59, 0x42, 0x68, 0x41, 0x4e, 0x6c, 0x73, 0x48, 0x53, 0x32, 0x76, 0x4c, 0x2f, 0x42, 0x52, 0x67, 0x41, 0x6f, 0x50, 0x74, 0x32, 0x38, 0x77, 0x76, 0x35, 0x59, 0x6f, 0x49, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x2e, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, - 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, - 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, - 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x5b, 0x32, 0x5d, 0x2e, 0x62, 0x6c, 0x69, + 0x6e, 0x6b, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, + 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x53, 0x49, 0x41, 0x41, 0x41, 0x47, 0x61, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x72, 0x4a, 0x30, 0x36, 0x75, 0x41, 0x41, 0x41, 0x67, 0x41, 0x45, 0x6c, 0x45, 0x51, @@ -7153,14 +7123,12 @@ const unsigned char nogame_lua[] = 0x67, 0x73, 0x69, 0x4b, 0x79, 0x75, 0x72, 0x6b, 0x65, 0x75, 0x2f, 0x41, 0x42, 0x48, 0x45, 0x4c, 0x56, 0x65, 0x38, 0x7a, 0x45, 0x75, 0x49, 0x41, 0x41, 0x41, 0x41, 0x41, 0x45, 0x6c, 0x46, 0x54, 0x6b, 0x53, 0x75, 0x51, 0x6d, 0x43, 0x43, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, - 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x2e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x6c, - 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x62, - 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x5b, 0x31, 0x5d, 0x2e, 0x6e, 0x6f, 0x72, + 0x6d, 0x61, 0x6c, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, + 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x4a, 0x45, 0x41, 0x41, 0x41, 0x44, 0x4e, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x34, 0x6c, 0x4a, 0x4b, 0x76, 0x41, 0x41, 0x41, 0x67, 0x41, 0x45, 0x6c, 0x45, 0x51, @@ -8294,13 +8262,12 @@ const unsigned char nogame_lua[] = 0x6d, 0x52, 0x4a, 0x75, 0x79, 0x59, 0x74, 0x6d, 0x45, 0x61, 0x46, 0x4e, 0x57, 0x4c, 0x50, 0x38, 0x66, 0x72, 0x55, 0x63, 0x6a, 0x64, 0x33, 0x38, 0x6b, 0x77, 0x56, 0x59, 0x41, 0x41, 0x41, 0x41, 0x41, 0x53, 0x55, 0x5c, 0x0a, 0x09, 0x56, 0x4f, 0x52, 0x4b, 0x35, 0x43, 0x59, 0x49, 0x49, 0x3d, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2e, 0x70, 0x6e, 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x2e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, - 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x28, 0x22, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, + 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x5b, 0x32, 0x5d, 0x2e, 0x6e, 0x6f, 0x72, + 0x6d, 0x61, 0x6c, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, 0x20, 0x22, + 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x0a, 0x09, 0x69, 0x56, 0x42, 0x4f, 0x52, 0x77, 0x30, 0x4b, 0x47, 0x67, 0x6f, 0x41, 0x41, 0x41, 0x41, 0x4e, 0x53, 0x55, 0x68, 0x45, 0x55, 0x67, 0x41, 0x41, 0x41, 0x53, 0x49, 0x41, 0x41, 0x41, 0x47, 0x61, 0x43, 0x41, 0x59, 0x41, 0x41, 0x41, 0x43, 0x72, 0x4a, 0x30, 0x36, 0x75, 0x41, 0x41, 0x41, 0x67, 0x41, 0x45, 0x6c, 0x45, 0x51, @@ -11096,8 +11063,7 @@ const unsigned char nogame_lua[] = 0x09, 0x75, 0x52, 0x79, 0x49, 0x6e, 0x4a, 0x79, 0x63, 0x52, 0x71, 0x37, 0x2f, 0x44, 0x33, 0x54, 0x67, 0x78, 0x7a, 0x73, 0x35, 0x75, 0x6a, 0x53, 0x4b, 0x41, 0x41, 0x41, 0x41, 0x41, 0x45, 0x6c, 0x46, 0x54, 0x6b, 0x53, 0x75, 0x51, 0x6d, 0x43, 0x43, 0x5c, 0x0a, - 0x09, 0x22, 0x29, 0x2c, 0x20, 0x22, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x40, 0x32, 0x78, 0x2e, 0x70, 0x6e, - 0x67, 0x22, 0x29, 0x0a, + 0x09, 0x22, 0x29, 0x0a, 0x09, 0x2d, 0x2d, 0x20, 0x33, 0x30, 0x6c, 0x6f, 0x67, 0x2e, 0x6c, 0x75, 0x61, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x73, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, @@ -11843,104 +11809,100 @@ const unsigned char nogame_lua[] = 0x33, 0x2f, 0x32, 0x35, 0x35, 0x29, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x73, 0x2e, 0x73, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x28, 0x36, 0x34, 0x29, 0x0a, - 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x68, 0x64, 0x70, 0x69, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, - 0x65, 0x2e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x67, 0x65, 0x74, 0x44, 0x50, 0x49, 0x53, 0x63, 0x61, - 0x6c, 0x65, 0x28, 0x29, 0x20, 0x3e, 0x20, 0x31, 0x0a, - 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x20, 0x3d, 0x20, 0x68, 0x64, 0x70, 0x69, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x5f, 0x32, 0x78, 0x5f, - 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x5f, 0x70, - 0x6e, 0x67, 0x0a, - 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6f, 0x20, 0x3d, 0x20, 0x68, 0x64, 0x70, 0x69, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6f, 0x5f, 0x32, 0x78, 0x5f, - 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6f, 0x5f, 0x70, - 0x6e, 0x67, 0x0a, - 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x67, 0x20, 0x3d, 0x20, 0x68, 0x64, 0x70, 0x69, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x67, 0x5f, 0x32, 0x78, 0x5f, - 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x67, 0x5f, 0x70, - 0x6e, 0x67, 0x0a, - 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x61, 0x20, 0x3d, 0x20, 0x68, 0x64, 0x70, 0x69, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x61, 0x5f, 0x32, 0x78, 0x5f, - 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x61, 0x5f, 0x70, - 0x6e, 0x67, 0x0a, - 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6d, 0x20, 0x3d, 0x20, 0x68, 0x64, 0x70, 0x69, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6d, 0x5f, 0x32, 0x78, 0x5f, - 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6d, 0x5f, 0x70, - 0x6e, 0x67, 0x0a, - 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x65, 0x20, 0x3d, 0x20, 0x68, 0x64, 0x70, 0x69, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x65, 0x5f, 0x32, 0x78, 0x5f, - 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x65, 0x5f, 0x70, - 0x6e, 0x67, 0x0a, + 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x3d, + 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x67, 0x65, 0x74, 0x44, 0x50, + 0x49, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x28, 0x29, 0x20, 0x3e, 0x20, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x32, + 0x20, 0x6f, 0x72, 0x20, 0x31, 0x0a, + 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x3d, + 0x20, 0x7b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x64, 0x70, 0x69, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x7d, 0x0a, + 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x20, 0x3d, 0x20, 0x52, 0x2e, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x6e, 0x5f, 0x70, 0x6e, + 0x67, 0x0a, + 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6f, 0x20, 0x3d, 0x20, 0x52, 0x2e, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x6f, 0x5f, 0x70, 0x6e, + 0x67, 0x0a, + 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x67, 0x20, 0x3d, 0x20, 0x52, 0x2e, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x67, 0x5f, 0x70, 0x6e, + 0x67, 0x0a, + 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x61, 0x20, 0x3d, 0x20, 0x52, 0x2e, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x61, 0x5f, 0x70, 0x6e, + 0x67, 0x0a, + 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6d, 0x20, 0x3d, 0x20, 0x52, 0x2e, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x6d, 0x5f, 0x70, 0x6e, + 0x67, 0x0a, + 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x65, 0x20, 0x3d, 0x20, 0x52, 0x2e, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x65, 0x5f, 0x70, 0x6e, + 0x67, 0x0a, 0x09, 0x09, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x20, 0x3d, - 0x20, 0x68, 0x64, 0x70, 0x69, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, - 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, - 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x6e, 0x67, 0x0a, + 0x20, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, + 0x2e, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x6e, 0x67, 0x0a, 0x09, 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x2e, 0x62, 0x6c, 0x69, 0x6e, 0x6b, - 0x20, 0x3d, 0x20, 0x68, 0x64, 0x70, 0x69, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, - 0x6c, 0x6f, 0x6f, 0x6e, 0x2e, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, - 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x2e, 0x62, 0x6c, 0x69, 0x6e, - 0x6b, 0x5f, 0x70, 0x6e, 0x67, 0x0a, + 0x20, 0x3d, 0x20, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x5b, 0x64, 0x70, 0x69, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x6e, 0x67, 0x0a, 0x09, 0x09, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x2e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, - 0x6c, 0x20, 0x3d, 0x20, 0x68, 0x64, 0x70, 0x69, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x64, 0x75, 0x63, - 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x2e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, - 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x2e, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x68, - 0x64, 0x70, 0x69, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x5f, 0x31, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x62, 0x67, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x5f, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x68, - 0x64, 0x70, 0x69, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x5f, 0x32, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x62, 0x67, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x5f, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x68, - 0x64, 0x70, 0x69, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x5f, 0x33, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x62, 0x67, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x5f, 0x70, 0x6e, 0x67, 0x0a, - 0x09, 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x68, - 0x64, 0x70, 0x69, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x5f, 0x34, 0x5f, 0x32, 0x78, 0x5f, 0x70, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x20, 0x52, 0x2e, 0x62, 0x67, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x5f, 0x70, 0x6e, 0x67, 0x0a, + 0x6c, 0x20, 0x3d, 0x20, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x5b, 0x64, 0x70, 0x69, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x70, 0x6e, 0x67, 0x0a, + 0x09, 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x52, + 0x2e, 0x62, 0x67, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x5f, 0x31, 0x5f, 0x70, 0x6e, 0x67, 0x0a, + 0x09, 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x52, + 0x2e, 0x62, 0x67, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x5f, 0x32, 0x5f, 0x70, 0x6e, 0x67, 0x0a, + 0x09, 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x52, + 0x2e, 0x62, 0x67, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x5f, 0x33, 0x5f, 0x70, 0x6e, 0x67, 0x0a, + 0x09, 0x09, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x52, + 0x2e, 0x62, 0x67, 0x5b, 0x64, 0x70, 0x69, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5d, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x5f, 0x34, 0x5f, 0x70, 0x6e, 0x67, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, - 0x6f, 0x6f, 0x6e, 0x2e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x0a, + 0x6f, 0x6f, 0x6e, 0x2e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x52, 0x2e, 0x64, 0x75, 0x63, 0x6b, 0x6c, 0x6f, - 0x6f, 0x6e, 0x2e, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x29, 0x0a, + 0x6f, 0x6e, 0x2e, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x6e, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x52, 0x2e, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x29, 0x0a, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6e, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x6f, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x52, 0x2e, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6f, 0x29, 0x0a, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6f, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x67, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x52, 0x2e, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x67, 0x29, 0x0a, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x67, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x61, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x52, 0x2e, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x61, 0x29, 0x0a, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x61, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x6d, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x52, 0x2e, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6d, 0x29, 0x0a, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x6d, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x28, 0x52, 0x2e, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x65, 0x29, 0x0a, + 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x28, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x29, 0x0a, + 0x65, 0x28, 0x52, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x2c, 0x20, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x28, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x29, 0x0a, + 0x67, 0x65, 0x28, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x2c, 0x20, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x28, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x29, 0x0a, + 0x67, 0x65, 0x28, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x2c, 0x20, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x28, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x29, 0x0a, + 0x67, 0x65, 0x28, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x33, 0x2c, 0x20, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x28, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x29, 0x0a, + 0x67, 0x65, 0x28, 0x52, 0x2e, 0x62, 0x67, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x34, 0x2c, 0x20, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x31, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x6d, 0x67, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x32, 0x2c, 0x0a,