Compare commits

8 Commits
Author SHA1 Message Date
MiladandClaude Opus 5.5 a02e134356 Version 1.1 (was 1.5)
App, payload, Windows file version, README, docs and the changelog say 1.1;
the payload file is Glint-1.1-ps5.elf.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 02:54:44 +01:00
MiladandClaude Opus 5.5 baf7e50be1 Payload: 50 Mbit/s default bitrate
About 35-38 Mbit/s in a busy game: sharp in fast motion (20 was blocky),
and as smooth as lower rates on a clean Wi-Fi stretch. Docs and the 1.5
changelog follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 02:51:05 +01:00
MiladandClaude Opus 5.5 768b4e4d21 Glint 1.5: picture enhancement, presets, compare, one viewer, web fixes
Desktop app
- Settings -> Picture: GPU passes between the stream and the screen.
  Upscaling (Bilinear, Lanczos, AMD FSR 1, FSRCNNX AI), CAS sharpening,
  denoise, debanding, dithering and colour; profiles plus a frame-time
  guard. My presets: save, apply, update, revert, delete, remembered.
- Side-by-side compare (C) with zoom and pan, tweak panel (X).
- One viewer: connecting takes the stream; "Watching elsewhere" when
  another viewer takes it.
- Lower sound delay (about 190 -> 100 ms).
- Gallery follows the folder, PNG sizes, Fit/100% switch, drag to pan.
- Fixed crashes on fast zooming and on opening the gallery.

Payload
- 20 Mbit/s encoder bitrate; set once at start (live changes lock the
  encoder, documented in docs/API.md).
- One viewer at a time (409 for a pushed-out viewer), viewers and
  bitrate in status.json.
- Process name Glint.elf, previous log kept, quits at once when refused.

Browser dashboard
- Fixed the freeze after ~8 s, lower latency, sound on by default,
  one viewer with Watch here.

Version 1.5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 02:39:36 +01:00
MiladandClaude Opus 5.5 b06549de3c README: note that Glint is tested on firmware 13.60
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 20:55:35 +01:00
Milad c3072c7f4e Update README.md 2026-10-28 19:34:58 +01:00
MiladandClaude Opus 5.5 2a33ce4257 README: new demo GIF with captions
Replaces the WebP demo with the edited 19-second GIF (1.5x speed, captions,
logo outro).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 19:28:03 +01:00
MiladandClaude Opus 5.5 dbc646c7c8 README: demo of the app in action
A 31-second animated WebP recorded from the running app: live view, latency
switch, settings in dark and light, gallery and the built-in viewer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 18:40:31 +01:00
MiladandClaude Opus 5.5 eb55b69f8e README: header logo and cleanup
- The logo now sits on its own rounded black tile, so it reads correctly
  on GitHub's light and dark themes (the old <picture> followed the
  device's dark mode, not GitHub's theme).
- Dropped the streaming note and src/stream/ from the project layout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 05:40:04 +01:00
76 changed files with 19843 additions and 2212 deletions

No files matched your search

+54
View File
@@ -1,6 +1,60 @@
# Changelog
## [1.1] - 2026-10-29
Upload the payload as `/data/pldmgr/payloads/local/glint/Glint-1.1-ps5.elf`.
### Desktop app (Windows)
- **Picture enhancement**, a new Settings tab: GPU passes between the stream
and the screen. Profiles Off, Light, Balanced (FSR 1), Enhanced (AI) and
Custom; upscaling with Bilinear, Lanczos, AMD FidelityFX FSR 1 or FSRCNNX
(a small neural network, from 1.3x); contrast-adaptive sharpening;
edge-preserving denoise, debanding and dithering; exposure, saturation and
shadow detail. Measured on an RX 9070 at 4K output: 0.14 ms (Bilinear) to
1.23 ms (AI) per frame. "Protect frame time" steps the profile down when
the passes go over a GPU budget. Off costs nothing.
- **My presets:** save the current values under a name, apply, update,
revert and delete. The applied preset is marked (Applied, or Changed after
an edit) and stays applied across restarts. All in `picture.conf`.
- **Side-by-side compare** (C, or Settings → Picture): the original and the
enhanced picture next to each other; scroll zooms (up to 8x) around the
pointer, drag pans both, double-click resets. X opens a tweak panel over the
picture without dimming it.
- **One viewer at a time:** connecting takes the stream from a browser or
another PC; when one takes it from the app, the app says "Watching
elsewhere" instead of an error.
- **Sound delay** about 190 → 100 ms: the automatic buffer still grows on a
choppy network, but starts lower (Lowest 40, Balanced 60, Smooth 120 ms).
- Gallery: follows the folder (files deleted or added in Explorer show up),
screenshots show their size instead of 0x0, Fit/100% is a proper switch,
and a zoomed screenshot pans with press-and-drag.
- Fixed: a crash when zooming fast (a recreated image could reuse a freed
handle), and a crash opening the gallery (the UI's texture pool held 8).
### Payload (PS5)
- **50 Mbit/s** encoder bitrate (was 60; about 35-38 Mbit/s in a busy game):
sharp in fast motion, and as smooth as lower rates on a clean Wi-Fi. The
bitrate can only be set when capture starts (docs/API.md, Bitrate).
- **One viewer at a time:** the newest viewer gets the stream; one that was
pushed out is refused (409) while the new one watches, so two can't fight.
`status.json` gains `viewers` and `bitrate`.
- Process name **Glint.elf** (listed with the other payloads in Payload
Manager). The previous run's log is kept as `capture.prev.log`; a refused
start quits at once and says "Load Glint again".
### Browser dashboard
- Fixed: the picture froze after ~8 s (the buffer was trimmed past the only
keyframe).
- Lower latency: about 94 → 35 ms from arrival to screen, a jitter buffer for
sound, and no video download while the tab is hidden.
- Sound is on by default (after the browser's required first click).
- One viewer at a time, with "Watch here" to take the stream back.
## [1.0] - 2026-10-28
Screenlink is now **Glint**: `Glint.exe`, `glint-payload.elf` (upload it as
+34 -22
View File
@@ -1,13 +1,10 @@
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/brand/glint-logo-dark.png">
<img alt="Glint" src="docs/brand/glint-logo-light.png" width="300">
</picture>
<img alt="Glint" src="docs/brand/glint-banner.png" width="420">
**Watch, hear and record a jailbroken PS5 on your Windows PC, with low latency.**
![Version](https://img.shields.io/badge/version-1.0-informational)
![Version](https://img.shields.io/badge/version-1.1-informational)
![Platform](https://img.shields.io/badge/platform-Windows%2010%20%7C%2011-0078D6)
![Console](https://img.shields.io/badge/console-PS5%20(jailbroken)-003791)
![Language](https://img.shields.io/badge/C%2B%2B17%20%2B%20C11-00599C)
@@ -29,6 +26,17 @@ the picture and sound over a simple HTTP API. The Windows app connects to it,
decodes on the GPU and shows the console in a window, at 1080p60, with sound.
No capture card needed. A browser can also open the payload directly.
> [!IMPORTANT]
> Glint has only been tested on **firmware 13.60**, so that's where it runs
> most stable for now. Other firmwares may freeze or misbehave. It's still
> early and being tested, so expect some rough edges. If something breaks,
> please [open an issue](https://github.com/MiladRTX/Glint/issues) with your
> firmware and the logs.
<p align="center">
<img src="docs/media/glint-demo.gif" alt="Glint in action: live PS5 picture, latency switch, settings in dark and light, gallery and the built-in viewer" width="100%">
</p>
## Features
**Desktop app**
@@ -42,6 +50,12 @@ No capture card needed. A browser can also open the payload directly.
- **Recording** to MKV (H.264 copy + AAC, nothing re-encoded) and PNG
**screenshots**.
- **Gallery** with thumbnails, export to MP4/MKV and delete.
- **Picture enhancement** (Settings → Picture): upscaling with Bilinear,
Lanczos, AMD FSR 1 or an AI network (FSRCNNX), contrast-adaptive
sharpening, denoise, debanding and colour. Profiles, your own saved
presets, and a frame-time guard that steps down on a weak GPU.
- **Side-by-side compare** (C): the original and the enhanced picture next to
each other, zoomed and panned together, with a tweak panel (X).
- **Built-in viewer.** Recordings play with sound, seek and volume.
Screenshots zoom and pan.
- **Dark and light theme** (dark by default), animated UI, auto-hiding
@@ -56,18 +70,16 @@ No capture card needed. A browser can also open the payload directly.
console, keyframe and stop. See [API.md](docs/API.md).
- **Browser dashboard** at `http://<ps5-ip>:7231/`: live view, sound,
screenshots, console recordings, dark and light theme. Nothing to install.
- **One viewer at a time:** the newest browser or app takes the stream; the
others see "watching somewhere else" and can take it back.
- On-screen notifications on the console when it loads, is ready, or hits a
problem.
> [!NOTE]
> Live streaming to Twitch, YouTube and TikTok is **switched off** in this
> release. The code is kept in `app/src/stream/` behind `SL_LIVE_STREAMING`.
## Requirements
| | |
|---|---|
| **Console** | Jailbroken PS5 with [Payload Manager](#2-run-the-payload) and an FTP server (tested on firmware `0x12600006`) |
| **Console** | Jailbroken PS5 with [Payload Manager](#2-run-the-payload) and an FTP server (tested on firmware 13.60) |
| **PC** | Windows 10 or 11, 64-bit, with a Vulkan-capable graphics driver |
| **Network** | PC and PS5 on the same network. Wired is best; Wi-Fi works, with more jitter. |
@@ -79,7 +91,7 @@ Download both from the [latest release](https://github.com/MiladRTX/Glint/releas
or build them yourself ([Building](#building)):
- `Glint.exe`, the Windows app (one file, nothing to install)
- `Glint-1.0-ps5.elf`, the PS5 payload
- `Glint-1.1-ps5.elf`, the PS5 payload
### 2. Run the payload
@@ -87,20 +99,20 @@ Upload the ELF to Payload Manager's folder on the console (FTP on port 2121
here; use your console's IP):
```bash
curl --ftp-create-dirs -T Glint-1.0-ps5.elf ftp://<ps5-ip>:2121/data/pldmgr/payloads/local/glint/Glint-1.0-ps5.elf
curl --ftp-create-dirs -T Glint-1.1-ps5.elf ftp://<ps5-ip>:2121/data/pldmgr/payloads/local/glint/Glint-1.1-ps5.elf
```
A self-built ELF is `payload/build/glint-payload.elf`; upload it under the same
name.
Then start **Glint** from Payload Manager on the console. You will see
*"Glint 1.0 loaded. Starting capture..."*, then *"Glint ready on
*"Glint 1.1 loaded. Starting capture..."*, then *"Glint ready on
port 7231"*.
> [!TIP]
> Payload Manager expects names shaped like `Name-version-ps5.elf`. If the
> console says *"the PS5 refused to start video capture"*, wait a minute and
> run it again.
> console says *"the PS5 refused to start video capture"*, just run it again.
> This often happens on the first try after the PS5 starts.
### 3. Connect
@@ -186,6 +198,7 @@ dependency: [docs/BUILD.md](docs/BUILD.md).
| `R` | Start/stop recording | | `T` | Dark / light theme |
| `G` | Gallery | | `F11` | Full screen |
| `P` | Picture size (fit / fill / no upscaling) | | `Ctrl+,` | Settings |
| `C` | Side-by-side compare | | `X` | Tweak panel (in compare) |
In the viewer: `Space` play/pause, `←` `→` seek 5 s (or previous/next
picture), `↑` `↓` volume, `Page Up` / `Page Down` previous/next item, `Esc`
@@ -208,9 +221,7 @@ Settings live in `%LOCALAPPDATA%\Glint`. Recordings and screenshots go to
`%USERPROFILE%\Videos\Glint` by default. You can change the folder in
Settings → Capture. All options: [app/README.md](app/README.md).
> [!WARNING]
> **Stop capture** (in Settings or the browser dashboard) can crash the
> console. Use it only when you have to.
## How it works
@@ -246,7 +257,6 @@ in [docs/CAPTURE-INTERNALS.md](docs/CAPTURE-INTERNALS.md).
app/ Windows app (C++17: GLFW, Vulkan, Dear ImGui, FFmpeg, SDL2, curl)
├── src/core/ payload session, HTTP client, settings, log
├── src/media/ decoder, audio, recorder, player, screenshots, gallery
├── src/stream/ live streaming engine (switched off in 1.0)
├── src/shaders/ YUV → RGBA compute shader
├── res/ exe icon and version info
├── tools/ probe.cpp (headless test client), embed_fonts.js
@@ -260,7 +270,7 @@ payload/ PS5 payload (C11)
└── build/ glint-payload.elf and the host build (output)
tests/ mock payload, protocol smoke test, probe runner
tools/ gen_blobs.js (embeds the web assets), make_brand.py (icons and logos)
docs/ build, API, console and internals docs
docs/ build, API, console and internals docs; media/ holds the demo
└── brand/ logo and icons; source/ holds the original designs
```
@@ -292,8 +302,10 @@ Built with [Dear ImGui](https://github.com/ocornut/imgui),
[FFmpeg](https://ffmpeg.org/), [curl](https://curl.se/),
[SDL2](https://www.libsdl.org/), [GLFW](https://www.glfw.org/),
[x264](https://www.videolan.org/developers/x264.html), the
[Geist](https://vercel.com/font) typeface (SIL OFL), and the
[PS5 payload SDK](https://github.com/ps5-payload-dev/sdk).
[Geist](https://vercel.com/font) typeface (SIL OFL), the
[PS5 payload SDK](https://github.com/ps5-payload-dev/sdk),
[AMD FidelityFX FSR 1](https://github.com/GPUOpen-Effects/FidelityFX-FSR) (MIT) and
[FSRCNNX](https://github.com/igv/FSRCNN-TensorFlow) (LGPL-3.0) for the upscalers.
## License
+9 -2
View File
@@ -14,8 +14,15 @@ export PKG_CONFIG_PATH="$PWD/deps/prefix/lib/pkgconfig"
# Compute shaders -> SPIR-V C arrays (the generated .inc is kept in the repo so
# a machine without glslc still builds).
if command -v glslc >/dev/null 2>&1; then
glslc -fshader-stage=compute --target-env=vulkan1.0 -O src/shaders/yuv_to_rgba.comp \
-mfmt=c -o src/shaders/yuv_to_rgba.spv.inc
# The picture enhancement shaders too; fsrcnnx/ is generated by
# tools/gen_fsrcnnx.js, enhance_easu includes AMD's FSR headers (third_party/).
for shader in yuv_to_rgba enhance_pre enhance_scale enhance_final enhance_easu fsrcnnx_luma fsrcnnx_out \
fsrcnnx/pass_01 fsrcnnx/pass_02 fsrcnnx/pass_03 fsrcnnx/pass_04 fsrcnnx/pass_05 fsrcnnx/pass_06 \
fsrcnnx/pass_07 fsrcnnx/pass_08 fsrcnnx/pass_09 fsrcnnx/pass_10 fsrcnnx/pass_11 fsrcnnx/pass_12 \
fsrcnnx/pass_13; do
glslc -fshader-stage=compute --target-env=vulkan1.0 -O -I src/shaders src/shaders/$shader.comp \
-mfmt=c -o src/shaders/$shader.spv.inc
done
fi
# The deps paths are given relative: pkg-config's absolute ones break on a
+4
View File
@@ -36,6 +36,7 @@ struct StreamStatus {
double fps = 0.0;
double kbps = 0.0;
int clients = 0;
int viewers = 0; // people watching (the console allows one)
bool recording = false;
std::string recording_name;
unsigned long long recording_frames = 0;
@@ -48,6 +49,9 @@ struct StreamStatus {
std::string audio_codec;
};
// stream_frames/stream_audio error when another viewer has the stream (HTTP 409).
constexpr const char* kTakenOver = "someone else is watching";
// Port the Glint payload listens on.
constexpr int kPayloadPort = 7231;
+1 -1
View File
@@ -2,4 +2,4 @@
// The one place the app's version lives (title, Settings footer, --version,
// the log and diagnostics). The payload's is SL_VERSION in payload/include/glint.h.
#define GLINT_VERSION "1.0"
#define GLINT_VERSION "1.1"
+4 -4
View File
@@ -6,8 +6,8 @@
GLFW_ICON ICON "glint.ico"
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEVERSION 1,1,0,0
PRODUCTVERSION 1,1,0,0
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
BEGIN
@@ -16,9 +16,9 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "Glint"
VALUE "FileVersion", "1.0"
VALUE "FileVersion", "1.1"
VALUE "ProductName", "Glint"
VALUE "ProductVersion", "1.0"
VALUE "ProductVersion", "1.1"
VALUE "OriginalFilename", "Glint.exe"
END
END
+16 -3
View File
@@ -425,9 +425,21 @@ void App::worker() {
broadcaster_.stop("Live broadcast stopped because the console stream ended.");
audio_.stop();
if (!stop_.load()) {
// The console streams to one viewer: if the stream just closed and
// someone is still watching, a browser or another PC took it.
bool taken = error == kTakenOver;
if (error.empty()) {
StreamStatus status;
std::string ignored_error;
taken = client.fetch_status(status, ignored_error) && status.viewers > 0;
}
std::lock_guard<std::mutex> lock(mutex_);
error_ = error.empty() ? "Video stream stopped" : "Video: " + error;
logf("video stream ended: %s", error.empty() ? "closed by the console" : error.c_str());
if (taken)
error_ = "Video: Glint is open in a browser or on another PC. Connect to watch here.";
else
error_ = error.empty() ? "Video stream stopped" : "Video: " + error;
logf("video stream ended: %s", taken ? "another viewer took it"
: error.empty() ? "closed by the console" : error.c_str());
}
}
@@ -573,7 +585,8 @@ double App::video_hold_target_ms() const {
void App::set_latency(Latency latency) {
latency_.store((int)latency);
audio_.set_auto_floor_ms(latency == Latency::Smooth ? 150 : 100);
// Smooth also holds the picture to the sound, so it keeps a larger floor.
audio_.set_auto_floor_ms(latency == Latency::Smooth ? 120 : latency == Latency::Balanced ? 60 : 40);
}
bool App::post(const std::string& path, std::string& error) {
+19 -2
View File
@@ -270,6 +270,7 @@ bool PayloadClient::fetch_status(StreamStatus& status, std::string& error) {
status.fps = json_double(document, "fps");
status.kbps = json_double(document, "kbps");
status.clients = static_cast<int>(json_int(document, "clients"));
status.viewers = static_cast<int>(json_int(document, "viewers"));
status.recording = json_bool(document, "recording");
status.recording_name = json_string(document, "recording_name");
status.recording_frames = static_cast<unsigned long long>(json_int(document, "recording_frames"));
@@ -371,7 +372,10 @@ bool PayloadClient::stream_frames(const FrameCallback& callback, std::atomic_boo
error = "curl_easy_init failed";
return false;
}
curl_easy_setopt(curl, CURLOPT_URL, (base_ + "/frames").c_str());
// One viewer at a time: the app only connects when asked to, so it takes
// the stream from whoever has it (docs/API.md).
curl_easy_setopt(curl, CURLOPT_URL, (base_ + "/frames?take=1").c_str());
curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1L);
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, +progress);
curl_easy_setopt(curl, CURLOPT_XFERINFODATA, &context);
@@ -384,8 +388,14 @@ bool PayloadClient::stream_frames(const FrameCallback& callback, std::atomic_boo
curl_easy_setopt(curl, CURLOPT_USERAGENT, "Glint/1.0");
CURLcode result = curl_easy_perform(curl);
long http_status = 0;
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &http_status);
curl_easy_cleanup(curl);
if (result == CURLE_HTTP_RETURNED_ERROR && http_status == 409) {
error = kTakenOver;
return false;
}
if (state.failed) {
error = state.error;
return false;
@@ -441,7 +451,8 @@ bool PayloadClient::stream_audio(const AudioCallback& callback, std::atomic_bool
error = "curl_easy_init failed";
return false;
}
curl_easy_setopt(curl, CURLOPT_URL, (base_ + "/audio").c_str());
curl_easy_setopt(curl, CURLOPT_URL, (base_ + "/audio").c_str()); // never takes: it reconnects on its own
curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1L);
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, +progress);
curl_easy_setopt(curl, CURLOPT_XFERINFODATA, &context);
@@ -454,8 +465,14 @@ bool PayloadClient::stream_audio(const AudioCallback& callback, std::atomic_bool
curl_easy_setopt(curl, CURLOPT_USERAGENT, "Glint/1.0");
CURLcode result = curl_easy_perform(curl);
long http_status = 0;
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &http_status);
curl_easy_cleanup(curl);
if (result == CURLE_HTTP_RETURNED_ERROR && http_status == 409) {
error = kTakenOver;
return false;
}
if (state.failed) {
error = state.error;
return false;
+74 -2
View File
@@ -148,7 +148,8 @@ bool AppSettings::operator==(const AppSettings& o) const {
return console_url == o.console_url && recent == o.recent && theme == o.theme && sound == o.sound && volume == o.volume && delay_auto == o.delay_auto &&
delay_ms == o.delay_ms && video_sync == o.video_sync && av_offset_ms == o.av_offset_ms &&
media_dir == o.media_dir && picture == o.picture && gpu_decode == o.gpu_decode &&
gpu_convert == o.gpu_convert && latency == o.latency && window_x == o.window_x &&
gpu_convert == o.gpu_convert && latency == o.latency && enhance == o.enhance &&
picture_presets == o.picture_presets && picture_active == o.picture_active && window_x == o.window_x &&
window_y == o.window_y && window_w == o.window_w && window_h == o.window_h &&
maximized == o.maximized && fullscreen == o.fullscreen;
}
@@ -199,6 +200,56 @@ void load_settings(AppSettings& s, std::vector<std::string>& warnings) {
if (v == "smooth") s.latency = 2;
}
}
{
std::map<std::string, std::string> kv;
if (read_kv(file_in("picture.conf"), "GLINT-PICTURE-1", kv, warnings)) {
Reader r{kv, warnings, "picture.conf"};
PictureSettings& e = s.enhance;
r.integer("profile", e.profile, 0, 4);
r.boolean("protect", e.protect);
r.real("budget_ms", e.budget_ms, 0.5f, 10.0f);
r.integer("upscaler", e.upscaler, 0, 3);
r.real("sharpness", e.sharpness, 0.0f, 1.0f);
r.real("denoise", e.denoise, 0.0f, 1.0f);
r.real("deband", e.deband, 0.0f, 1.0f);
r.real("dither", e.dither, 0.0f, 1.0f);
r.real("exposure", e.exposure, -2.0f, 2.0f);
r.real("saturation", e.saturation, 0.0f, 2.0f);
r.real("shadows", e.shadows, 0.0f, 1.0f);
r.text("active", s.picture_active);
// presetN=name|upscaler|sharpness|denoise|deband|dither|exposure|saturation|shadows
for (int i = 1; i <= kMaxPicturePresets; i++) {
std::string line;
r.text(("preset" + std::to_string(i)).c_str(), line);
if (line.empty()) continue;
std::vector<std::string> f;
std::stringstream ss(line);
for (std::string part; std::getline(ss, part, '|');) f.push_back(part);
PicturePreset p;
if (f.size() != 9 || f[0].empty()) {
warnings.push_back("picture.conf: preset" + std::to_string(i) + " is not readable");
continue;
}
p.name = f[0];
PictureSettings& v = p.values;
auto num = [&](const std::string& t, float lo, float hi, float fallback) {
char* end = nullptr;
double n = std::strtod(t.c_str(), &end);
return (end && *end == 0 && std::isfinite(n) && n >= lo && n <= hi) ? (float)n : fallback;
};
v.upscaler = (int)num(f[1], 0, 3, (float)v.upscaler);
v.sharpness = num(f[2], 0, 1, v.sharpness);
v.denoise = num(f[3], 0, 1, v.denoise);
v.deband = num(f[4], 0, 1, v.deband);
v.dither = num(f[5], 0, 1, v.dither);
v.exposure = num(f[6], -2, 2, v.exposure);
v.saturation = num(f[7], 0, 2, v.saturation);
v.shadows = num(f[8], 0, 1, v.shadows);
v.profile = 4; // Custom
s.picture_presets.push_back(p);
}
}
}
{
std::map<std::string, std::string> kv;
if (read_kv(file_in("capture.conf"), "GLINT-CAPTURE-1", kv, warnings)) {
@@ -263,6 +314,26 @@ bool save_settings(const AppSettings& s, std::string& error) {
<< (s.gpu_convert ? "gpu" : "cpu") << "\nlatency="
<< (s.latency == 2 ? "smooth" : s.latency == 1 ? "balanced" : "lowest") << "\n";
if (!write_file_atomic(path("video.conf"), v.str(), error)) return false;
const PictureSettings& pe = s.enhance;
std::ostringstream q;
q << "GLINT-PICTURE-1\nprofile=" << pe.profile << "\nprotect=" << (pe.protect ? 1 : 0)
<< "\nbudget_ms=" << f(pe.budget_ms) << "\nupscaler=" << pe.upscaler << "\nsharpness=" << f(pe.sharpness)
<< "\ndenoise=" << f(pe.denoise) << "\ndeband=" << f(pe.deband) << "\ndither=" << f(pe.dither)
<< "\nexposure=" << f(pe.exposure) << "\nsaturation=" << f(pe.saturation) << "\nshadows=" << f(pe.shadows)
<< "\n";
if (!s.picture_active.empty()) q << "active=" << s.picture_active << "\n";
int n = 0;
for (const PicturePreset& p : s.picture_presets) {
if (++n > kMaxPicturePresets) break;
std::string name;
for (char ch : p.name) // the separator and line breaks can't be in a name
if (ch != '|' && ch != '\n' && ch != '\r') name += ch;
const PictureSettings& v = p.values;
q << "preset" << n << "=" << name << "|" << v.upscaler << "|" << f(v.sharpness) << "|" << f(v.denoise) << "|"
<< f(v.deband) << "|" << f(v.dither) << "|" << f(v.exposure) << "|" << f(v.saturation) << "|"
<< f(v.shadows) << "\n";
}
if (!write_file_atomic(path("picture.conf"), q.str(), error)) return false;
std::ostringstream c;
c << "GLINT-CAPTURE-1\nmedia_dir=" << s.media_dir << "\n";
if (!write_file_atomic(path("capture.conf"), c.str(), error)) return false;
@@ -277,7 +348,8 @@ bool save_settings(const AppSettings& s, std::string& error) {
std::vector<std::string> shareable_settings_files() {
// Never oauth-apps.conf or anything from the vault.
return {"console.conf", "audio.conf", "video.conf", "capture.conf", "window.conf", "destinations.conf"};
return {"console.conf", "audio.conf", "video.conf", "picture.conf", "capture.conf", "window.conf",
"destinations.conf"};
}
} // namespace glint
+35
View File
@@ -18,6 +18,37 @@ bool is_header(const std::string& line, const char* header);
// half-written file.
bool write_file_atomic(const std::string& path, const std::string& text, std::string& error);
// Picture enhancement (Settings -> Picture, picture.conf). The profile picks a
// set of values; Custom uses the ones below as the user left them.
struct PictureSettings {
int profile = 2; // 0 Off, 1 Light, 2 Balanced, 3 Enhanced, 4 Custom
bool protect = true; // step the profile down when the GPU goes over budget
float budget_ms = 3.0f; // GPU time allowed for the passes, per frame
int upscaler = 2; // 0 Bilinear, 1 Lanczos, 2 FSR 1, 3 AI
float sharpness = 0.35f; // 0..1
float denoise = 0.0f; // 0..1
float deband = 0.25f; // 0..1
float dither = 0.5f; // 0..1
float exposure = 0.0f; // EV, -2..2
float saturation = 1.0f; // 0..2
float shadows = 0.0f; // 0..1
bool operator==(const PictureSettings& o) const {
return profile == o.profile && protect == o.protect && budget_ms == o.budget_ms && upscaler == o.upscaler &&
sharpness == o.sharpness && denoise == o.denoise && deband == o.deband && dither == o.dither &&
exposure == o.exposure && saturation == o.saturation && shadows == o.shadows;
}
};
// A named set of picture values the user saved (Settings -> Picture, My
// presets). Loading one makes it the Custom profile.
struct PicturePreset {
std::string name;
PictureSettings values;
bool operator==(const PicturePreset& o) const { return name == o.name && values == o.values; }
};
constexpr int kMaxPicturePresets = 20;
// Everything the user changes that should survive a restart. Secrets are not
// here: stream keys and tokens live in the vault (destinations.h).
struct AppSettings {
@@ -37,6 +68,10 @@ struct AppSettings {
bool gpu_decode = true;
bool gpu_convert = true;
int latency = 0; // 0 Lowest, 1 Balanced, 2 Smooth (App::Latency)
// picture.conf
PictureSettings enhance;
std::vector<PicturePreset> picture_presets;
std::string picture_active; // the user preset last applied, "" for a built-in profile
// window.conf
int picture = 0; // 0 fit, 1 fill, 2 no upscaling
int window_x = INT_MIN;
+1224 -42
View File
File diff suppressed because it is too large. Load diff
+6 -4
View File
@@ -37,9 +37,11 @@ constexpr double kWarmupSeconds = 5.0;
// Auto delay: cover the worst recent arrival lateness (how far packets ran
// behind the media clock, which is what drains the ring; a run of slightly
// late packets counts, not just one long gap) plus one callback and one packet
// of granularity. The memory halves every 60 s.
constexpr double kAutoMarginMs = 50.0;
constexpr double kAutoMinMsDefault = 150.0;
// of granularity. The memory halves every 60 s. Margin and floors were 50 and
// 100-150 ms; on Wi-Fi with gaps up to ~60 ms that sat ~190 ms behind the
// picture for no measured gain (no underruns at the lower values).
constexpr double kAutoMarginMs = 25.0;
constexpr double kAutoMinMsDefault = 60.0;
constexpr double kAutoHalfLifeS = 60.0;
constexpr double kAutoInitialGapMs = 70.0;
@@ -436,7 +438,7 @@ float AudioPlayer::volume() const { return impl_->volume.load(); }
void AudioPlayer::set_delay_ms(int ms) { impl_->delay_ms.store(std::clamp(ms, 0, kMaxDelayMs)); }
int AudioPlayer::delay_ms() const { return impl_->delay_ms.load(); }
void AudioPlayer::set_delay_auto(bool on) { impl_->delay_auto.store(on); }
void AudioPlayer::set_auto_floor_ms(int ms) { impl_->auto_floor_ms.store(std::clamp(ms, 50, kMaxDelayMs)); }
void AudioPlayer::set_auto_floor_ms(int ms) { impl_->auto_floor_ms.store(std::clamp(ms, 30, kMaxDelayMs)); }
bool AudioPlayer::delay_auto() const { return impl_->delay_auto.load(); }
int AudioPlayer::effective_delay_ms() const {
+1 -1
View File
@@ -93,7 +93,7 @@ public:
void set_delay_auto(bool on);
bool delay_auto() const;
int effective_delay_ms() const; // the target in use right now
// Smallest automatic buffer (Latency: Lowest 100 ms, Smooth 150 ms).
// Smallest automatic buffer (Latency: Lowest 40 ms, Balanced 60 ms, Smooth 120 ms).
void set_auto_floor_ms(int ms);
// Time from a packet arriving to it reaching the speaker. -1 while not
// playing (stopped, buffering, sound off). Used to hold video in sync.
+39
View File
@@ -24,6 +24,7 @@ extern "C" {
#include <ctime>
#include <filesystem>
#include <fstream>
#include <fstream>
namespace fs = std::filesystem;
@@ -202,6 +203,33 @@ bool save_screenshot(const std::string& dir, const std::vector<uint8_t>& frame,
return ok;
}
FolderWatch::~FolderWatch() { close(); }
void FolderWatch::close() {
if (handle_ && handle_ != INVALID_HANDLE_VALUE) FindCloseChangeNotification((HANDLE)handle_);
handle_ = nullptr;
}
void FolderWatch::watch(const std::string& dir) {
if (dir == dir_ && handle_ && handle_ != INVALID_HANDLE_VALUE) return;
close();
dir_ = dir;
// A folder that doesn't exist yet can't be watched; watch() is called
// again on the next refresh and picks it up once it does.
std::wstring wide = fs::u8path(dir).wstring();
HANDLE h = FindFirstChangeNotificationW(wide.c_str(), FALSE,
FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_SIZE |
FILE_NOTIFY_CHANGE_LAST_WRITE);
handle_ = h == INVALID_HANDLE_VALUE ? nullptr : (void*)h;
}
bool FolderWatch::changed() {
if (!handle_) return false;
if (WaitForSingleObject((HANDLE)handle_, 0) != WAIT_OBJECT_0) return false;
if (!FindNextChangeNotification((HANDLE)handle_)) close(); // the folder went away: watch again later
return true;
}
std::vector<GalleryItem> list_gallery(const std::string& dir) {
std::vector<GalleryItem> items;
std::error_code ec;
@@ -240,6 +268,17 @@ std::vector<GalleryItem> list_gallery(const std::string& dir) {
}
avformat_close_input(&fmt);
}
} else {
// A PNG's size is in its header: the IHDR chunk right after the
// 8-byte signature holds width and height (big-endian) at 16..23.
std::ifstream png(entry.path(), std::ios::binary);
unsigned char head[24] = {};
if (png.read(reinterpret_cast<char*>(head), sizeof(head)) && head[1] == 'P' && head[2] == 'N' &&
head[3] == 'G' && std::memcmp(head + 12, "IHDR", 4) == 0) {
auto be32 = [&](int at) { return (int)((head[at] << 24) | (head[at + 1] << 16) | (head[at + 2] << 8) | head[at + 3]); };
item.width = be32(16);
item.height = be32(20);
}
}
items.push_back(std::move(item));
}
+18
View File
@@ -33,6 +33,24 @@ struct GalleryItem {
// .mkv / .mp4 / .png files in `dir`, newest first.
std::vector<GalleryItem> list_gallery(const std::string& dir);
// Watches a folder for files added, removed, renamed or written (Windows
// change notifications, no polling of the files). changed() is true once
// after each burst of changes. Watching a new folder replaces the old one.
class FolderWatch {
public:
FolderWatch() = default;
~FolderWatch();
FolderWatch(const FolderWatch&) = delete;
FolderWatch& operator=(const FolderWatch&) = delete;
void watch(const std::string& dir);
bool changed();
private:
void close();
void* handle_ = nullptr;
std::string dir_;
};
bool delete_gallery_file(const std::string& path, std::string& error);
// Stream-copies a recording to "mp4" or "mkv" next to the original
+35
View File
@@ -0,0 +1,35 @@
#version 450
#extension GL_GOOGLE_include_directive : require
// Picture enhancement: AMD FidelityFX FSR 1 EASU (edge-adaptive spatial
// upsampling) from the stream's size to the window's. The FSR code is AMD's,
// unchanged (third_party/, MIT); this file only feeds it.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba8) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D src; // linear sampler; EASU gathers
layout(push_constant) uniform Params {
ivec2 src_size;
ivec2 dst_size;
} p;
#define A_GPU 1
#define A_GLSL 1
#include "third_party/ffx_a.h"
#define FSR_EASU_F 1
AF4 FsrEasuRF(AF2 q) { return textureGather(src, q, 0); }
AF4 FsrEasuGF(AF2 q) { return textureGather(src, q, 1); }
AF4 FsrEasuBF(AF2 q) { return textureGather(src, q, 2); }
#include "third_party/ffx_fsr1.h"
void main()
{
ivec2 at = ivec2(gl_GlobalInvocationID.xy);
if (at.x >= p.dst_size.x || at.y >= p.dst_size.y) return;
AU4 con0, con1, con2, con3;
FsrEasuCon(con0, con1, con2, con3, AF1(p.src_size.x), AF1(p.src_size.y), AF1(p.src_size.x),
AF1(p.src_size.y), AF1(p.dst_size.x), AF1(p.dst_size.y));
AF3 c;
FsrEasuF(c, AU2(at), con0, con1, con2, con3);
imageStore(dst, at, vec4(clamp(c, 0.0, 1.0), 1.0));
}
File diff suppressed because it is too large. Load diff
+73
View File
@@ -0,0 +1,73 @@
#version 450
// Picture enhancement, last pass, at the window's size: contrast-adaptive
// sharpening, the compare split (original on the left) and dithering.
//
// Sharpening follows the idea of AMD's CAS: sharpen each pixel by how much
// room its neighbourhood leaves before clipping, so flat areas and strong edges
// get little and soft detail gets the most. No halos, no noise boost.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba8) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D processed; // window-sized, nearest reads
layout(binding = 2) uniform sampler2D original; // the stream's own picture, linear
layout(push_constant) uniform Params {
ivec2 size;
float sharpness; // 0..1, 0 = off
float dither; // 0..1
float split; // 0 = off, else the split's x as a fraction of the width
uint frame;
} p;
uint hash(uvec3 v)
{
uint h = v.x * 0x8da6b343u ^ v.y * 0xd8163841u ^ v.z * 0xcb1ab31fu;
h ^= h >> 15; h *= 0x2c1b3c6du; h ^= h >> 12; h *= 0x297a2d39u; h ^= h >> 15;
return h;
}
vec3 fetch(ivec2 at) { return texelFetch(processed, clamp(at, ivec2(0), p.size - 1), 0).rgb; }
void main()
{
ivec2 at = ivec2(gl_GlobalInvocationID.xy);
if (at.x >= p.size.x || at.y >= p.size.y) return;
vec2 uv = (vec2(at) + 0.5) / vec2(p.size);
vec3 c;
float split_x = p.split * float(p.size.x);
if (p.split > 0.0 && float(at.x) < split_x) {
c = textureLod(original, uv, 0.0).rgb;
} else {
c = fetch(at);
if (p.sharpness > 0.0) {
vec3 n = fetch(at + ivec2(0, -1)), w = fetch(at + ivec2(-1, 0));
vec3 e = fetch(at + ivec2(1, 0)), s = fetch(at + ivec2(0, 1));
vec3 mn = min(c, min(min(n, w), min(e, s)));
vec3 mx = max(c, max(max(n, w), max(e, s)));
// Diagonals widen the min/max for a steadier amount (cheap: 4 reads).
vec3 nw = fetch(at + ivec2(-1, -1)), ne = fetch(at + ivec2(1, -1));
vec3 sw = fetch(at + ivec2(-1, 1)), se = fetch(at + ivec2(1, 1));
vec3 mn2 = min(mn, min(min(nw, ne), min(sw, se)));
vec3 mx2 = max(mx, max(max(nw, ne), max(sw, se)));
mn += mn2; mx += mx2;
vec3 amp = sqrt(clamp(min(mn, 2.0 - mx) / max(mx, vec3(1e-4)), 0.0, 1.0));
float peak = -1.0 / mix(8.0, 4.5, p.sharpness);
vec3 wgt = amp * peak;
c = clamp((c + (n + w + e + s) * wgt) / (1.0 + 4.0 * wgt), 0.0, 1.0);
}
}
// The split: a thin light line between original and processed.
if (p.split > 0.0 && abs(float(at.x) + 0.5 - split_x) < 1.0) c = mix(c, vec3(1.0), 0.8);
// Dithering: up to one 8-bit step of triangular noise, so gradients don't
// show steps when written to the 8-bit picture.
if (p.dither > 0.0) {
uint h = hash(uvec3(at, p.frame));
float r = (float(h & 0xffffu) + float(h >> 16)) / 65535.0 - 1.0;
c += r * p.dither / 255.0;
}
imageStore(dst, at, vec4(clamp(c, 0.0, 1.0), 1.0));
}
+381
View File
@@ -0,0 +1,381 @@
{0x07230203,0x00010000,0x000d000b,0x00000226,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000005a,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00040047,0x00000043,0x00000021,0x00000001,
0x00040047,0x00000043,0x00000022,0x00000000,
0x00030047,0x00000048,0x00000002,0x00050048,
0x00000048,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000048,0x00000001,0x00000023,
0x00000008,0x00050048,0x00000048,0x00000002,
0x00000023,0x0000000c,0x00050048,0x00000048,
0x00000003,0x00000023,0x00000010,0x00050048,
0x00000048,0x00000004,0x00000023,0x00000014,
0x00040047,0x0000005a,0x0000000b,0x0000001c,
0x00040047,0x00000099,0x00000021,0x00000002,
0x00040047,0x00000099,0x00000022,0x00000000,
0x00030047,0x00000176,0x00000019,0x00040047,
0x00000176,0x00000021,0x00000000,0x00040047,
0x00000176,0x00000022,0x00000000,0x00040047,
0x00000182,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00040015,0x00000006,0x00000020,0x00000000,
0x00040017,0x00000007,0x00000006,0x00000003,
0x00040015,0x0000000d,0x00000020,0x00000001,
0x00040017,0x0000000e,0x0000000d,0x00000002,
0x00030016,0x00000010,0x00000020,0x00040017,
0x00000011,0x00000010,0x00000003,0x0004002b,
0x00000006,0x00000018,0x00000000,0x0004002b,
0x00000006,0x0000001b,0x8da6b343,0x0004002b,
0x00000006,0x0000001d,0x00000001,0x0004002b,
0x00000006,0x00000020,0xd8163841,0x0004002b,
0x00000006,0x00000026,0xcb1ab31f,0x0004002b,
0x0000000d,0x0000002a,0x0000000f,0x0004002b,
0x00000006,0x0000002e,0x2c1b3c6d,0x0004002b,
0x0000000d,0x00000032,0x0000000c,0x0004002b,
0x00000006,0x00000036,0x297a2d39,0x00090019,
0x00000040,0x00000010,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000041,0x00000040,0x00040020,
0x00000042,0x00000000,0x00000041,0x0004003b,
0x00000042,0x00000043,0x00000000,0x0004002b,
0x0000000d,0x00000046,0x00000000,0x0005002c,
0x0000000e,0x00000047,0x00000046,0x00000046,
0x0007001e,0x00000048,0x0000000e,0x00000010,
0x00000010,0x00000010,0x00000006,0x00040020,
0x00000049,0x00000009,0x00000048,0x0004003b,
0x00000049,0x0000004a,0x00000009,0x00040020,
0x0000004b,0x00000009,0x0000000e,0x0004002b,
0x0000000d,0x0000004e,0x00000001,0x00040017,
0x00000053,0x00000010,0x00000004,0x00040020,
0x00000059,0x00000001,0x00000007,0x0004003b,
0x00000059,0x0000005a,0x00000001,0x00040017,
0x0000005b,0x00000006,0x00000002,0x00020014,
0x0000005f,0x00040020,0x00000063,0x00000009,
0x0000000d,0x00040017,0x00000073,0x00000010,
0x00000002,0x0004002b,0x00000010,0x00000078,
0x3f000000,0x0004002b,0x0000000d,0x00000081,
0x00000003,0x00040020,0x00000082,0x00000009,
0x00000010,0x0004002b,0x00000010,0x0000008b,
0x00000000,0x0004003b,0x00000042,0x00000099,
0x00000000,0x0004002b,0x0000000d,0x000000a9,
0xffffffff,0x0005002c,0x0000000e,0x000000aa,
0x00000046,0x000000a9,0x0005002c,0x0000000e,
0x000000b0,0x000000a9,0x00000046,0x0005002c,
0x0000000e,0x000000b6,0x0000004e,0x00000046,
0x0005002c,0x0000000e,0x000000bc,0x00000046,
0x0000004e,0x0005002c,0x0000000e,0x000000d6,
0x000000a9,0x000000a9,0x0005002c,0x0000000e,
0x000000dc,0x0000004e,0x000000a9,0x0005002c,
0x0000000e,0x000000e2,0x000000a9,0x0000004e,
0x0005002c,0x0000000e,0x000000e8,0x0000004e,
0x0000004e,0x0004002b,0x00000010,0x00000108,
0x40000000,0x0004002b,0x00000010,0x0000010e,
0x38d1b717,0x0006002c,0x00000011,0x0000010f,
0x0000010e,0x0000010e,0x0000010e,0x0004002b,
0x00000010,0x00000112,0x3f800000,0x0004002b,
0x00000010,0x00000118,0xbf800000,0x0004002b,
0x00000010,0x00000119,0x41000000,0x0004002b,
0x00000010,0x0000011a,0x40900000,0x0004002b,
0x00000010,0x0000012e,0x40800000,0x0006002c,
0x00000011,0x00000148,0x00000112,0x00000112,
0x00000112,0x0004002b,0x00000010,0x00000149,
0x3f4ccccd,0x0004002b,0x0000000d,0x0000014c,
0x00000002,0x0004002b,0x0000000d,0x00000155,
0x00000004,0x00040020,0x00000156,0x00000009,
0x00000006,0x0004002b,0x00000006,0x00000160,
0x0000ffff,0x0004002b,0x0000000d,0x00000164,
0x00000010,0x00090019,0x00000174,0x00000010,
0x00000001,0x00000000,0x00000000,0x00000000,
0x00000002,0x00000004,0x00040020,0x00000175,
0x00000000,0x00000174,0x0004003b,0x00000175,
0x00000176,0x00000000,0x0004002b,0x00000006,
0x00000181,0x00000010,0x0006002c,0x00000007,
0x00000182,0x00000181,0x00000181,0x0000001d,
0x0005002c,0x00000073,0x00000220,0x00000078,
0x00000078,0x0006002c,0x00000011,0x00000221,
0x00000108,0x00000108,0x00000108,0x0006002c,
0x00000011,0x00000222,0x0000008b,0x0000008b,
0x0000008b,0x0006002c,0x00000011,0x00000223,
0x00000149,0x00000149,0x00000149,0x0004002b,
0x00000010,0x00000224,0x37800080,0x0004002b,
0x00000010,0x00000225,0x3b808081,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x000300f7,0x00000183,
0x00000000,0x000300fb,0x00000018,0x00000184,
0x000200f8,0x00000184,0x0004003d,0x00000007,
0x0000005c,0x0000005a,0x0007004f,0x0000005b,
0x0000005d,0x0000005c,0x0000005c,0x00000000,
0x00000001,0x0004007c,0x0000000e,0x0000005e,
0x0000005d,0x00050051,0x0000000d,0x00000062,
0x0000005e,0x00000000,0x00060041,0x00000063,
0x00000064,0x0000004a,0x00000046,0x00000018,
0x0004003d,0x0000000d,0x00000065,0x00000064,
0x000500af,0x0000005f,0x00000066,0x00000062,
0x00000065,0x000400a8,0x0000005f,0x00000067,
0x00000066,0x000300f7,0x00000069,0x00000000,
0x000400fa,0x00000067,0x00000068,0x00000069,
0x000200f8,0x00000068,0x00050051,0x0000000d,
0x0000006b,0x0000005e,0x00000001,0x00060041,
0x00000063,0x0000006c,0x0000004a,0x00000046,
0x0000001d,0x0004003d,0x0000000d,0x0000006d,
0x0000006c,0x000500af,0x0000005f,0x0000006e,
0x0000006b,0x0000006d,0x000200f9,0x00000069,
0x000200f8,0x00000069,0x000700f5,0x0000005f,
0x0000006f,0x00000066,0x00000184,0x0000006e,
0x00000068,0x000300f7,0x00000071,0x00000000,
0x000400fa,0x0000006f,0x00000070,0x00000071,
0x000200f8,0x00000070,0x000200f9,0x00000183,
0x000200f8,0x00000071,0x0004006f,0x00000073,
0x00000077,0x0000005e,0x00050081,0x00000073,
0x0000007a,0x00000077,0x00000220,0x00050041,
0x0000004b,0x0000007b,0x0000004a,0x00000046,
0x0004003d,0x0000000e,0x0000007c,0x0000007b,
0x0004006f,0x00000073,0x0000007d,0x0000007c,
0x00050088,0x00000073,0x0000007e,0x0000007a,
0x0000007d,0x00050041,0x00000082,0x00000083,
0x0000004a,0x00000081,0x0004003d,0x00000010,
0x00000084,0x00000083,0x0004006f,0x00000010,
0x00000087,0x00000065,0x00050085,0x00000010,
0x00000088,0x00000084,0x00000087,0x000500ba,
0x0000005f,0x0000008c,0x00000084,0x0000008b,
0x000300f7,0x0000008e,0x00000000,0x000400fa,
0x0000008c,0x0000008d,0x0000008e,0x000200f8,
0x0000008d,0x0004006f,0x00000010,0x00000091,
0x00000062,0x000500b8,0x0000005f,0x00000093,
0x00000091,0x00000088,0x000200f9,0x0000008e,
0x000200f8,0x0000008e,0x000700f5,0x0000005f,
0x00000094,0x0000008c,0x00000071,0x00000093,
0x0000008d,0x000300f7,0x00000096,0x00000000,
0x000400fa,0x00000094,0x00000095,0x0000009e,
0x000200f8,0x00000095,0x0004003d,0x00000041,
0x0000009a,0x00000099,0x00070058,0x00000053,
0x0000009c,0x0000009a,0x0000007e,0x00000002,
0x0000008b,0x0008004f,0x00000011,0x0000009d,
0x0000009c,0x0000009c,0x00000000,0x00000001,
0x00000002,0x000200f9,0x00000096,0x000200f8,
0x0000009e,0x0004003d,0x00000041,0x0000018b,
0x00000043,0x00050082,0x0000000e,0x00000190,
0x0000007c,0x000000e8,0x0008000c,0x0000000e,
0x00000191,0x00000001,0x0000002d,0x0000005e,
0x00000047,0x00000190,0x00040064,0x00000040,
0x00000192,0x0000018b,0x0007005f,0x00000053,
0x00000193,0x00000192,0x00000191,0x00000002,
0x00000046,0x0008004f,0x00000011,0x00000194,
0x00000193,0x00000193,0x00000000,0x00000001,
0x00000002,0x00050041,0x00000082,0x000000a2,
0x0000004a,0x0000004e,0x0004003d,0x00000010,
0x000000a3,0x000000a2,0x000500ba,0x0000005f,
0x000000a4,0x000000a3,0x0000008b,0x000300f7,
0x000000a6,0x00000000,0x000400fa,0x000000a4,
0x000000a5,0x000000a6,0x000200f8,0x000000a5,
0x00050080,0x0000000e,0x000000ab,0x0000005e,
0x000000aa,0x0004003d,0x00000041,0x00000197,
0x00000043,0x0008000c,0x0000000e,0x0000019d,
0x00000001,0x0000002d,0x000000ab,0x00000047,
0x00000190,0x00040064,0x00000040,0x0000019e,
0x00000197,0x0007005f,0x00000053,0x0000019f,
0x0000019e,0x0000019d,0x00000002,0x00000046,
0x0008004f,0x00000011,0x000001a0,0x0000019f,
0x0000019f,0x00000000,0x00000001,0x00000002,
0x00050080,0x0000000e,0x000000b1,0x0000005e,
0x000000b0,0x0004003d,0x00000041,0x000001a3,
0x00000043,0x0008000c,0x0000000e,0x000001a9,
0x00000001,0x0000002d,0x000000b1,0x00000047,
0x00000190,0x00040064,0x00000040,0x000001aa,
0x000001a3,0x0007005f,0x00000053,0x000001ab,
0x000001aa,0x000001a9,0x00000002,0x00000046,
0x0008004f,0x00000011,0x000001ac,0x000001ab,
0x000001ab,0x00000000,0x00000001,0x00000002,
0x00050080,0x0000000e,0x000000b7,0x0000005e,
0x000000b6,0x0004003d,0x00000041,0x000001af,
0x00000043,0x0008000c,0x0000000e,0x000001b5,
0x00000001,0x0000002d,0x000000b7,0x00000047,
0x00000190,0x00040064,0x00000040,0x000001b6,
0x000001af,0x0007005f,0x00000053,0x000001b7,
0x000001b6,0x000001b5,0x00000002,0x00000046,
0x0008004f,0x00000011,0x000001b8,0x000001b7,
0x000001b7,0x00000000,0x00000001,0x00000002,
0x00050080,0x0000000e,0x000000bd,0x0000005e,
0x000000bc,0x0004003d,0x00000041,0x000001bb,
0x00000043,0x0008000c,0x0000000e,0x000001c1,
0x00000001,0x0000002d,0x000000bd,0x00000047,
0x00000190,0x00040064,0x00000040,0x000001c2,
0x000001bb,0x0007005f,0x00000053,0x000001c3,
0x000001c2,0x000001c1,0x00000002,0x00000046,
0x0008004f,0x00000011,0x000001c4,0x000001c3,
0x000001c3,0x00000000,0x00000001,0x00000002,
0x0007000c,0x00000011,0x000000c4,0x00000001,
0x00000025,0x000001a0,0x000001ac,0x0007000c,
0x00000011,0x000000c7,0x00000001,0x00000025,
0x000001b8,0x000001c4,0x0007000c,0x00000011,
0x000000c8,0x00000001,0x00000025,0x000000c4,
0x000000c7,0x0007000c,0x00000011,0x000000c9,
0x00000001,0x00000025,0x00000194,0x000000c8,
0x0007000c,0x00000011,0x000000ce,0x00000001,
0x00000028,0x000001a0,0x000001ac,0x0007000c,
0x00000011,0x000000d1,0x00000001,0x00000028,
0x000001b8,0x000001c4,0x0007000c,0x00000011,
0x000000d2,0x00000001,0x00000028,0x000000ce,
0x000000d1,0x0007000c,0x00000011,0x000000d3,
0x00000001,0x00000028,0x00000194,0x000000d2,
0x00050080,0x0000000e,0x000000d7,0x0000005e,
0x000000d6,0x0004003d,0x00000041,0x000001c7,
0x00000043,0x0008000c,0x0000000e,0x000001cd,
0x00000001,0x0000002d,0x000000d7,0x00000047,
0x00000190,0x00040064,0x00000040,0x000001ce,
0x000001c7,0x0007005f,0x00000053,0x000001cf,
0x000001ce,0x000001cd,0x00000002,0x00000046,
0x0008004f,0x00000011,0x000001d0,0x000001cf,
0x000001cf,0x00000000,0x00000001,0x00000002,
0x00050080,0x0000000e,0x000000dd,0x0000005e,
0x000000dc,0x0004003d,0x00000041,0x000001d3,
0x00000043,0x0008000c,0x0000000e,0x000001d9,
0x00000001,0x0000002d,0x000000dd,0x00000047,
0x00000190,0x00040064,0x00000040,0x000001da,
0x000001d3,0x0007005f,0x00000053,0x000001db,
0x000001da,0x000001d9,0x00000002,0x00000046,
0x0008004f,0x00000011,0x000001dc,0x000001db,
0x000001db,0x00000000,0x00000001,0x00000002,
0x00050080,0x0000000e,0x000000e3,0x0000005e,
0x000000e2,0x0004003d,0x00000041,0x000001df,
0x00000043,0x0008000c,0x0000000e,0x000001e5,
0x00000001,0x0000002d,0x000000e3,0x00000047,
0x00000190,0x00040064,0x00000040,0x000001e6,
0x000001df,0x0007005f,0x00000053,0x000001e7,
0x000001e6,0x000001e5,0x00000002,0x00000046,
0x0008004f,0x00000011,0x000001e8,0x000001e7,
0x000001e7,0x00000000,0x00000001,0x00000002,
0x00050080,0x0000000e,0x000000e9,0x0000005e,
0x000000e8,0x0004003d,0x00000041,0x000001eb,
0x00000043,0x0008000c,0x0000000e,0x000001f1,
0x00000001,0x0000002d,0x000000e9,0x00000047,
0x00000190,0x00040064,0x00000040,0x000001f2,
0x000001eb,0x0007005f,0x00000053,0x000001f3,
0x000001f2,0x000001f1,0x00000002,0x00000046,
0x0008004f,0x00000011,0x000001f4,0x000001f3,
0x000001f3,0x00000000,0x00000001,0x00000002,
0x0007000c,0x00000011,0x000000f0,0x00000001,
0x00000025,0x000001d0,0x000001dc,0x0007000c,
0x00000011,0x000000f3,0x00000001,0x00000025,
0x000001e8,0x000001f4,0x0007000c,0x00000011,
0x000000f4,0x00000001,0x00000025,0x000000f0,
0x000000f3,0x0007000c,0x00000011,0x000000f5,
0x00000001,0x00000025,0x000000c9,0x000000f4,
0x0007000c,0x00000011,0x000000fa,0x00000001,
0x00000028,0x000001d0,0x000001dc,0x0007000c,
0x00000011,0x000000fd,0x00000001,0x00000028,
0x000001e8,0x000001f4,0x0007000c,0x00000011,
0x000000fe,0x00000001,0x00000028,0x000000fa,
0x000000fd,0x0007000c,0x00000011,0x000000ff,
0x00000001,0x00000028,0x000000d3,0x000000fe,
0x00050081,0x00000011,0x00000102,0x000000c9,
0x000000f5,0x00050081,0x00000011,0x00000105,
0x000000d3,0x000000ff,0x00050083,0x00000011,
0x0000010b,0x00000221,0x00000105,0x0007000c,
0x00000011,0x0000010c,0x00000001,0x00000025,
0x00000102,0x0000010b,0x0007000c,0x00000011,
0x00000110,0x00000001,0x00000028,0x00000105,
0x0000010f,0x00050088,0x00000011,0x00000111,
0x0000010c,0x00000110,0x0008000c,0x00000011,
0x00000115,0x00000001,0x0000002b,0x00000111,
0x00000222,0x00000148,0x0006000c,0x00000011,
0x00000116,0x00000001,0x0000001f,0x00000115,
0x0008000c,0x00000010,0x0000011d,0x00000001,
0x0000002e,0x00000119,0x0000011a,0x000000a3,
0x00050088,0x00000010,0x0000011e,0x00000118,
0x0000011d,0x0005008e,0x00000011,0x00000122,
0x00000116,0x0000011e,0x00050081,0x00000011,
0x00000126,0x000001a0,0x000001ac,0x00050081,
0x00000011,0x00000128,0x00000126,0x000001b8,
0x00050081,0x00000011,0x0000012a,0x00000128,
0x000001c4,0x00050085,0x00000011,0x0000012c,
0x0000012a,0x00000122,0x00050081,0x00000011,
0x0000012d,0x00000194,0x0000012c,0x0005008e,
0x00000011,0x00000130,0x00000122,0x0000012e,
0x00050081,0x00000011,0x00000132,0x00000148,
0x00000130,0x00050088,0x00000011,0x00000133,
0x0000012d,0x00000132,0x0008000c,0x00000011,
0x00000136,0x00000001,0x0000002b,0x00000133,
0x00000222,0x00000148,0x000200f9,0x000000a6,
0x000200f8,0x000000a6,0x000700f5,0x00000011,
0x0000021d,0x00000194,0x0000009e,0x00000136,
0x000000a5,0x000200f9,0x00000096,0x000200f8,
0x00000096,0x000700f5,0x00000011,0x0000021c,
0x0000009d,0x00000095,0x0000021d,0x000000a6,
0x000300f7,0x0000013b,0x00000000,0x000400fa,
0x0000008c,0x0000013a,0x0000013b,0x000200f8,
0x0000013a,0x0004006f,0x00000010,0x0000013e,
0x00000062,0x00050081,0x00000010,0x0000013f,
0x0000013e,0x00000078,0x00050083,0x00000010,
0x00000141,0x0000013f,0x00000088,0x0006000c,
0x00000010,0x00000142,0x00000001,0x00000004,
0x00000141,0x000500b8,0x0000005f,0x00000143,
0x00000142,0x00000112,0x000200f9,0x0000013b,
0x000200f8,0x0000013b,0x000700f5,0x0000005f,
0x00000144,0x0000008c,0x00000096,0x00000143,
0x0000013a,0x000300f7,0x00000146,0x00000000,
0x000400fa,0x00000144,0x00000145,0x00000146,
0x000200f8,0x00000145,0x0008000c,0x00000011,
0x0000014b,0x00000001,0x0000002e,0x0000021c,
0x00000148,0x00000223,0x000200f9,0x00000146,
0x000200f8,0x00000146,0x000700f5,0x00000011,
0x0000021e,0x0000021c,0x0000013b,0x0000014b,
0x00000145,0x00050041,0x00000082,0x0000014d,
0x0000004a,0x0000014c,0x0004003d,0x00000010,
0x0000014e,0x0000014d,0x000500ba,0x0000005f,
0x0000014f,0x0000014e,0x0000008b,0x000300f7,
0x00000151,0x00000000,0x000400fa,0x0000014f,
0x00000150,0x00000151,0x000200f8,0x00000150,
0x00050041,0x00000156,0x00000157,0x0000004a,
0x00000155,0x0004003d,0x00000006,0x00000158,
0x00000157,0x00050051,0x00000006,0x00000159,
0x0000005c,0x00000000,0x00050051,0x00000006,
0x0000015a,0x0000005c,0x00000001,0x00050084,
0x00000006,0x000001fa,0x00000159,0x0000001b,
0x00050084,0x00000006,0x000001fd,0x0000015a,
0x00000020,0x000500c6,0x00000006,0x000001fe,
0x000001fa,0x000001fd,0x00050084,0x00000006,
0x00000201,0x00000158,0x00000026,0x000500c6,
0x00000006,0x00000202,0x000001fe,0x00000201,
0x000500c2,0x00000006,0x00000204,0x00000202,
0x0000002a,0x000500c6,0x00000006,0x00000206,
0x00000202,0x00000204,0x00050084,0x00000006,
0x00000208,0x00000206,0x0000002e,0x000500c2,
0x00000006,0x0000020a,0x00000208,0x00000032,
0x000500c6,0x00000006,0x0000020c,0x00000208,
0x0000020a,0x00050084,0x00000006,0x0000020e,
0x0000020c,0x00000036,0x000500c2,0x00000006,
0x00000210,0x0000020e,0x0000002a,0x000500c6,
0x00000006,0x00000212,0x0000020e,0x00000210,
0x000500c7,0x00000006,0x00000161,0x00000212,
0x00000160,0x00040070,0x00000010,0x00000162,
0x00000161,0x000500c2,0x00000006,0x00000165,
0x00000212,0x00000164,0x00040070,0x00000010,
0x00000166,0x00000165,0x00050081,0x00000010,
0x00000167,0x00000162,0x00000166,0x00050085,
0x00000010,0x00000169,0x00000167,0x00000224,
0x00050083,0x00000010,0x0000016a,0x00000169,
0x00000112,0x00050085,0x00000010,0x0000016e,
0x0000016a,0x0000014e,0x00050085,0x00000010,
0x00000170,0x0000016e,0x00000225,0x00060050,
0x00000011,0x00000172,0x00000170,0x00000170,
0x00000170,0x00050081,0x00000011,0x00000173,
0x0000021e,0x00000172,0x000200f9,0x00000151,
0x000200f8,0x00000151,0x000700f5,0x00000011,
0x0000021f,0x0000021e,0x00000146,0x00000173,
0x00000150,0x0004003d,0x00000174,0x00000177,
0x00000176,0x0008000c,0x00000011,0x0000017c,
0x00000001,0x0000002b,0x0000021f,0x00000222,
0x00000148,0x00050051,0x00000010,0x0000017d,
0x0000017c,0x00000000,0x00050051,0x00000010,
0x0000017e,0x0000017c,0x00000001,0x00050051,
0x00000010,0x0000017f,0x0000017c,0x00000002,
0x00070050,0x00000053,0x00000180,0x0000017d,
0x0000017e,0x0000017f,0x00000112,0x00040063,
0x00000177,0x0000005e,0x00000180,0x000200f9,
0x00000183,0x000200f8,0x00000183,0x000100fd,
0x00010038}
+86
View File
@@ -0,0 +1,86 @@
#version 450
// Picture enhancement, first pass, at the stream's own size: compression
// cleanup (edge-preserving denoise, debanding) and colour (exposure,
// saturation, shadow detail). Reads the converted RGBA picture, writes `dst`.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba8) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D src; // nearest is fine: texel-exact reads
layout(push_constant) uniform Params {
ivec2 size;
float denoise; // 0..1
float deband; // 0..1
float exposure; // EV, -2..2
float saturation; // 0..2, 1 = unchanged
float shadows; // 0..1
uint frame; // varies the deband sample pattern over time
} p;
float luma(vec3 c) { return dot(c, vec3(0.2126, 0.7152, 0.0722)); }
uint hash(uvec3 v)
{
uint h = v.x * 0x8da6b343u ^ v.y * 0xd8163841u ^ v.z * 0xcb1ab31fu;
h ^= h >> 15; h *= 0x2c1b3c6du; h ^= h >> 12; h *= 0x297a2d39u; h ^= h >> 15;
return h;
}
vec3 fetch(ivec2 at) { return texelFetch(src, clamp(at, ivec2(0), p.size - 1), 0).rgb; }
void main()
{
ivec2 at = ivec2(gl_GlobalInvocationID.xy);
if (at.x >= p.size.x || at.y >= p.size.y) return;
vec3 c = fetch(at);
// Edge-preserving denoise: a 3x3 bilateral filter. Neighbours that differ
// a lot (edges, texture) get almost no weight, so only flat-area noise and
// compression speckle are averaged away.
if (p.denoise > 0.0) {
float sigma = mix(0.015, 0.09, p.denoise);
float inv = 1.0 / (2.0 * sigma * sigma);
float l0 = luma(c);
vec3 sum = vec3(0.0);
float wsum = 0.0;
for (int y = -1; y <= 1; y++)
for (int x = -1; x <= 1; x++) {
vec3 s = fetch(at + ivec2(x, y));
float d = luma(s) - l0;
float w = exp(-d * d * inv) * ((x == 0 && y == 0) ? 1.0 : 0.6);
sum += s * w;
wsum += w;
}
c = mix(c, sum / wsum, p.denoise);
}
// Debanding: compare with four points at a random angle and distance. If
// all of them are within a small threshold the area is a smooth gradient
// the encoder cut into bands; use their average there. Real detail differs
// by more than the threshold and is left alone.
if (p.deband > 0.0) {
uint h = hash(uvec3(at, p.frame));
float angle = float(h & 0xffffu) / 65536.0 * 6.2831853;
float radius = mix(4.0, 14.0, float(h >> 16) / 65536.0);
ivec2 o1 = ivec2(round(vec2(cos(angle), sin(angle)) * radius));
ivec2 o2 = ivec2(-o1.y, o1.x);
vec3 a = fetch(at + o1), b = fetch(at - o1), d = fetch(at + o2), e = fetch(at - o2);
vec3 avg = (a + b + d + e) * 0.25;
float threshold = mix(0.006, 0.03, p.deband);
vec3 diff = max(max(abs(a - c), abs(b - c)), max(abs(d - c), abs(e - c)));
if (max(diff.r, max(diff.g, diff.b)) < threshold) c = mix(c, avg, 0.85);
}
// Colour.
c *= exp2(p.exposure);
if (p.shadows > 0.0) {
// Lift the dark end only: a curve that raises shadows and leaves
// mid-tones and highlights where they were.
float l = luma(c);
float lift = p.shadows * 0.35 * (1.0 - smoothstep(0.0, 0.45, l));
c = c + lift * (1.0 - c) * c * 4.0 / (1.0 + c * 3.0);
}
if (p.saturation != 1.0) c = mix(vec3(luma(c)), c, p.saturation);
imageStore(dst, at, vec4(clamp(c, 0.0, 1.0), 1.0));
}
+399
View File
@@ -0,0 +1,399 @@
{0x07230203,0x00010000,0x000d000b,0x0000024d,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000067,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00040047,0x00000050,0x00000021,0x00000001,
0x00040047,0x00000050,0x00000022,0x00000000,
0x00030047,0x00000055,0x00000002,0x00050048,
0x00000055,0x00000000,0x00000023,0x00000000,
0x00050048,0x00000055,0x00000001,0x00000023,
0x00000008,0x00050048,0x00000055,0x00000002,
0x00000023,0x0000000c,0x00050048,0x00000055,
0x00000003,0x00000023,0x00000010,0x00050048,
0x00000055,0x00000004,0x00000023,0x00000014,
0x00050048,0x00000055,0x00000005,0x00000023,
0x00000018,0x00050048,0x00000055,0x00000006,
0x00000023,0x0000001c,0x00040047,0x00000067,
0x0000000b,0x0000001c,0x00030047,0x000001a3,
0x00000019,0x00040047,0x000001a3,0x00000021,
0x00000000,0x00040047,0x000001a3,0x00000022,
0x00000000,0x00040047,0x000001af,0x0000000b,
0x00000019,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00030016,0x00000006,
0x00000020,0x00040017,0x00000007,0x00000006,
0x00000003,0x00040015,0x0000000d,0x00000020,
0x00000000,0x00040017,0x0000000e,0x0000000d,
0x00000003,0x00040015,0x00000014,0x00000020,
0x00000001,0x00040017,0x00000015,0x00000014,
0x00000002,0x0004002b,0x00000006,0x0000001c,
0x3e59b3d0,0x0004002b,0x00000006,0x0000001d,
0x3f371759,0x0004002b,0x00000006,0x0000001e,
0x3d93dd98,0x0006002c,0x00000007,0x0000001f,
0x0000001c,0x0000001d,0x0000001e,0x0004002b,
0x0000000d,0x00000025,0x00000000,0x0004002b,
0x0000000d,0x00000028,0x8da6b343,0x0004002b,
0x0000000d,0x0000002a,0x00000001,0x0004002b,
0x0000000d,0x0000002d,0xd8163841,0x0004002b,
0x0000000d,0x00000033,0xcb1ab31f,0x0004002b,
0x00000014,0x00000037,0x0000000f,0x0004002b,
0x0000000d,0x0000003b,0x2c1b3c6d,0x0004002b,
0x00000014,0x0000003f,0x0000000c,0x0004002b,
0x0000000d,0x00000043,0x297a2d39,0x00090019,
0x0000004d,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x0000004e,0x0000004d,0x00040020,
0x0000004f,0x00000000,0x0000004e,0x0004003b,
0x0000004f,0x00000050,0x00000000,0x0004002b,
0x00000014,0x00000053,0x00000000,0x0005002c,
0x00000015,0x00000054,0x00000053,0x00000053,
0x0009001e,0x00000055,0x00000015,0x00000006,
0x00000006,0x00000006,0x00000006,0x00000006,
0x0000000d,0x00040020,0x00000056,0x00000009,
0x00000055,0x0004003b,0x00000056,0x00000057,
0x00000009,0x00040020,0x00000058,0x00000009,
0x00000015,0x0004002b,0x00000014,0x0000005b,
0x00000001,0x00040017,0x00000060,0x00000006,
0x00000004,0x00040020,0x00000066,0x00000001,
0x0000000e,0x0004003b,0x00000066,0x00000067,
0x00000001,0x00040017,0x00000068,0x0000000d,
0x00000002,0x00020014,0x0000006c,0x00040020,
0x00000070,0x00000009,0x00000014,0x00040020,
0x00000084,0x00000009,0x00000006,0x0004002b,
0x00000006,0x00000087,0x00000000,0x0004002b,
0x00000006,0x0000008d,0x3c75c28f,0x0004002b,
0x00000006,0x0000008e,0x3db851ec,0x0004002b,
0x00000006,0x00000093,0x3f800000,0x0004002b,
0x00000006,0x00000094,0x40000000,0x0006002c,
0x00000007,0x0000009f,0x00000087,0x00000087,
0x00000087,0x0004002b,0x00000014,0x000000a2,
0xffffffff,0x0004002b,0x00000006,0x000000cd,
0x3f19999a,0x0004002b,0x00000014,0x000000e5,
0x00000002,0x0004002b,0x00000014,0x000000ee,
0x00000006,0x00040020,0x000000ef,0x00000009,
0x0000000d,0x0004002b,0x0000000d,0x000000f9,
0x0000ffff,0x0004002b,0x00000006,0x00000101,
0x40800000,0x0004002b,0x00000006,0x00000102,
0x41600000,0x0004002b,0x00000014,0x00000104,
0x00000010,0x00040017,0x0000010e,0x00000006,
0x00000002,0x0004002b,0x00000006,0x0000013b,
0x3e800000,0x0004002b,0x00000006,0x0000013e,
0x3bc49ba6,0x0004002b,0x00000006,0x0000013f,
0x3cf5c28f,0x0004002b,0x00000006,0x00000165,
0x3f59999a,0x0004002b,0x00000014,0x00000168,
0x00000003,0x0004002b,0x00000014,0x0000016e,
0x00000005,0x0004002b,0x00000006,0x0000017b,
0x3eb33333,0x0004002b,0x00000006,0x0000017d,
0x3ee66666,0x0004002b,0x00000006,0x0000018c,
0x40400000,0x0004002b,0x00000014,0x00000192,
0x00000004,0x00090019,0x000001a1,0x00000006,
0x00000001,0x00000000,0x00000000,0x00000000,
0x00000002,0x00000004,0x00040020,0x000001a2,
0x00000000,0x000001a1,0x0004003b,0x000001a2,
0x000001a3,0x00000000,0x0004002b,0x0000000d,
0x000001ae,0x00000010,0x0006002c,0x0000000e,
0x000001af,0x000001ae,0x000001ae,0x0000002a,
0x0005002c,0x00000015,0x00000245,0x0000005b,
0x0000005b,0x0006002c,0x00000007,0x00000247,
0x00000165,0x00000165,0x00000165,0x0006002c,
0x00000007,0x00000248,0x00000093,0x00000093,
0x00000093,0x0004002b,0x00000006,0x0000024b,
0x37800000,0x0004002b,0x00000006,0x0000024c,
0x38c90fdb,0x00050036,0x00000002,0x00000004,
0x00000000,0x00000003,0x000200f8,0x00000005,
0x000300f7,0x000001b0,0x00000000,0x000300fb,
0x00000025,0x000001b1,0x000200f8,0x000001b1,
0x0004003d,0x0000000e,0x00000069,0x00000067,
0x0007004f,0x00000068,0x0000006a,0x00000069,
0x00000069,0x00000000,0x00000001,0x0004007c,
0x00000015,0x0000006b,0x0000006a,0x00050051,
0x00000014,0x0000006f,0x0000006b,0x00000000,
0x00060041,0x00000070,0x00000071,0x00000057,
0x00000053,0x00000025,0x0004003d,0x00000014,
0x00000072,0x00000071,0x000500af,0x0000006c,
0x00000073,0x0000006f,0x00000072,0x000400a8,
0x0000006c,0x00000074,0x00000073,0x000300f7,
0x00000076,0x00000000,0x000400fa,0x00000074,
0x00000075,0x00000076,0x000200f8,0x00000075,
0x00050051,0x00000014,0x00000078,0x0000006b,
0x00000001,0x00060041,0x00000070,0x00000079,
0x00000057,0x00000053,0x0000002a,0x0004003d,
0x00000014,0x0000007a,0x00000079,0x000500af,
0x0000006c,0x0000007b,0x00000078,0x0000007a,
0x000200f9,0x00000076,0x000200f8,0x00000076,
0x000700f5,0x0000006c,0x0000007c,0x00000073,
0x000001b1,0x0000007b,0x00000075,0x000300f7,
0x0000007e,0x00000000,0x000400fa,0x0000007c,
0x0000007d,0x0000007e,0x000200f8,0x0000007d,
0x000200f9,0x000001b0,0x000200f8,0x0000007e,
0x0004003d,0x0000004e,0x000001b8,0x00000050,
0x00050041,0x00000058,0x000001ba,0x00000057,
0x00000053,0x0004003d,0x00000015,0x000001bb,
0x000001ba,0x00050082,0x00000015,0x000001bd,
0x000001bb,0x00000245,0x0008000c,0x00000015,
0x000001be,0x00000001,0x0000002d,0x0000006b,
0x00000054,0x000001bd,0x00040064,0x0000004d,
0x000001bf,0x000001b8,0x0007005f,0x00000060,
0x000001c0,0x000001bf,0x000001be,0x00000002,
0x00000053,0x0008004f,0x00000007,0x000001c1,
0x000001c0,0x000001c0,0x00000000,0x00000001,
0x00000002,0x00050041,0x00000084,0x00000085,
0x00000057,0x0000005b,0x0004003d,0x00000006,
0x00000086,0x00000085,0x000500ba,0x0000006c,
0x00000088,0x00000086,0x00000087,0x000300f7,
0x0000008a,0x00000000,0x000400fa,0x00000088,
0x00000089,0x0000008a,0x000200f8,0x00000089,
0x0008000c,0x00000006,0x00000091,0x00000001,
0x0000002e,0x0000008d,0x0000008e,0x00000086,
0x00050085,0x00000006,0x00000096,0x00000094,
0x00000091,0x00050085,0x00000006,0x00000098,
0x00000096,0x00000091,0x00050088,0x00000006,
0x00000099,0x00000093,0x00000098,0x00050094,
0x00000006,0x000001c5,0x000001c1,0x0000001f,
0x000200f9,0x000000a3,0x000200f8,0x000000a3,
0x000700f5,0x00000006,0x0000023a,0x00000087,
0x00000089,0x00000243,0x000000a6,0x000700f5,
0x00000007,0x00000239,0x0000009f,0x00000089,
0x00000242,0x000000a6,0x000700f5,0x00000014,
0x00000237,0x000000a2,0x00000089,0x000000db,
0x000000a6,0x000500b3,0x0000006c,0x000000a9,
0x00000237,0x0000005b,0x000400f6,0x000000a5,
0x000000a6,0x00000000,0x000400fa,0x000000a9,
0x000000a4,0x000000a5,0x000200f8,0x000000a4,
0x000200f9,0x000000ab,0x000200f8,0x000000ab,
0x000700f5,0x00000006,0x00000243,0x0000023a,
0x000000a4,0x000000d7,0x000000ac,0x000700f5,
0x00000007,0x00000242,0x00000239,0x000000a4,
0x000000d4,0x000000ac,0x000700f5,0x00000014,
0x00000240,0x000000a2,0x000000a4,0x000000d9,
0x000000ac,0x000500b3,0x0000006c,0x000000b1,
0x00000240,0x0000005b,0x000400f6,0x000000ad,
0x000000ac,0x00000000,0x000400fa,0x000000b1,
0x000000ac,0x000000ad,0x000200f8,0x000000ac,
0x00050050,0x00000015,0x000000b6,0x00000240,
0x00000237,0x00050080,0x00000015,0x000000b7,
0x0000006b,0x000000b6,0x0004003d,0x0000004e,
0x000001c8,0x00000050,0x0008000c,0x00000015,
0x000001ce,0x00000001,0x0000002d,0x000000b7,
0x00000054,0x000001bd,0x00040064,0x0000004d,
0x000001cf,0x000001c8,0x0007005f,0x00000060,
0x000001d0,0x000001cf,0x000001ce,0x00000002,
0x00000053,0x0008004f,0x00000007,0x000001d1,
0x000001d0,0x000001d0,0x00000000,0x00000001,
0x00000002,0x00050094,0x00000006,0x000001d5,
0x000001d1,0x0000001f,0x00050083,0x00000006,
0x000000bf,0x000001d5,0x000001c5,0x0004007f,
0x00000006,0x000000c2,0x000000bf,0x00050085,
0x00000006,0x000000c4,0x000000c2,0x000000bf,
0x00050085,0x00000006,0x000000c6,0x000000c4,
0x00000099,0x0006000c,0x00000006,0x000000c7,
0x00000001,0x0000001b,0x000000c6,0x000500aa,
0x0000006c,0x000000c9,0x00000240,0x00000053,
0x000500aa,0x0000006c,0x000000cb,0x00000237,
0x00000053,0x000500a7,0x0000006c,0x000000cc,
0x000000c9,0x000000cb,0x000600a9,0x00000006,
0x000000ce,0x000000cc,0x00000093,0x000000cd,
0x00050085,0x00000006,0x000000cf,0x000000c7,
0x000000ce,0x0005008e,0x00000007,0x000000d2,
0x000001d1,0x000000cf,0x00050081,0x00000007,
0x000000d4,0x00000242,0x000000d2,0x00050081,
0x00000006,0x000000d7,0x00000243,0x000000cf,
0x00050080,0x00000014,0x000000d9,0x00000240,
0x0000005b,0x000200f9,0x000000ab,0x000200f8,
0x000000ad,0x000200f9,0x000000a6,0x000200f8,
0x000000a6,0x00050080,0x00000014,0x000000db,
0x00000237,0x0000005b,0x000200f9,0x000000a3,
0x000200f8,0x000000a5,0x00060050,0x00000007,
0x000000df,0x0000023a,0x0000023a,0x0000023a,
0x00050088,0x00000007,0x000000e0,0x00000239,
0x000000df,0x00060050,0x00000007,0x000000e3,
0x00000086,0x00000086,0x00000086,0x0008000c,
0x00000007,0x000000e4,0x00000001,0x0000002e,
0x000001c1,0x000000e0,0x000000e3,0x000200f9,
0x0000008a,0x000200f8,0x0000008a,0x000700f5,
0x00000007,0x0000023b,0x000001c1,0x0000007e,
0x000000e4,0x000000a5,0x00050041,0x00000084,
0x000000e6,0x00000057,0x000000e5,0x0004003d,
0x00000006,0x000000e7,0x000000e6,0x000500ba,
0x0000006c,0x000000e8,0x000000e7,0x00000087,
0x000300f7,0x000000ea,0x00000000,0x000400fa,
0x000000e8,0x000000e9,0x000000ea,0x000200f8,
0x000000e9,0x00050041,0x000000ef,0x000000f0,
0x00000057,0x000000ee,0x0004003d,0x0000000d,
0x000000f1,0x000000f0,0x00050051,0x0000000d,
0x000000f2,0x00000069,0x00000000,0x00050051,
0x0000000d,0x000000f3,0x00000069,0x00000001,
0x00050084,0x0000000d,0x000001db,0x000000f2,
0x00000028,0x00050084,0x0000000d,0x000001de,
0x000000f3,0x0000002d,0x000500c6,0x0000000d,
0x000001df,0x000001db,0x000001de,0x00050084,
0x0000000d,0x000001e2,0x000000f1,0x00000033,
0x000500c6,0x0000000d,0x000001e3,0x000001df,
0x000001e2,0x000500c2,0x0000000d,0x000001e5,
0x000001e3,0x00000037,0x000500c6,0x0000000d,
0x000001e7,0x000001e3,0x000001e5,0x00050084,
0x0000000d,0x000001e9,0x000001e7,0x0000003b,
0x000500c2,0x0000000d,0x000001eb,0x000001e9,
0x0000003f,0x000500c6,0x0000000d,0x000001ed,
0x000001e9,0x000001eb,0x00050084,0x0000000d,
0x000001ef,0x000001ed,0x00000043,0x000500c2,
0x0000000d,0x000001f1,0x000001ef,0x00000037,
0x000500c6,0x0000000d,0x000001f3,0x000001ef,
0x000001f1,0x000500c7,0x0000000d,0x000000fa,
0x000001f3,0x000000f9,0x00040070,0x00000006,
0x000000fb,0x000000fa,0x00050085,0x00000006,
0x000000ff,0x000000fb,0x0000024c,0x000500c2,
0x0000000d,0x00000105,0x000001f3,0x00000104,
0x00040070,0x00000006,0x00000106,0x00000105,
0x00050085,0x00000006,0x00000107,0x00000106,
0x0000024b,0x0008000c,0x00000006,0x00000108,
0x00000001,0x0000002e,0x00000101,0x00000102,
0x00000107,0x0006000c,0x00000006,0x0000010b,
0x00000001,0x0000000e,0x000000ff,0x0006000c,
0x00000006,0x0000010d,0x00000001,0x0000000d,
0x000000ff,0x00050050,0x0000010e,0x0000010f,
0x0000010b,0x0000010d,0x0005008e,0x0000010e,
0x00000111,0x0000010f,0x00000108,0x0006000c,
0x0000010e,0x00000112,0x00000001,0x00000001,
0x00000111,0x0004006e,0x00000015,0x00000113,
0x00000112,0x00050051,0x00000014,0x00000116,
0x00000113,0x00000001,0x0004007e,0x00000014,
0x00000117,0x00000116,0x00050051,0x00000014,
0x00000119,0x00000113,0x00000000,0x00050050,
0x00000015,0x0000011a,0x00000117,0x00000119,
0x00050080,0x00000015,0x0000011e,0x0000006b,
0x00000113,0x0004003d,0x0000004e,0x000001f7,
0x00000050,0x0008000c,0x00000015,0x000001fd,
0x00000001,0x0000002d,0x0000011e,0x00000054,
0x000001bd,0x00040064,0x0000004d,0x000001fe,
0x000001f7,0x0007005f,0x00000060,0x000001ff,
0x000001fe,0x000001fd,0x00000002,0x00000053,
0x0008004f,0x00000007,0x00000200,0x000001ff,
0x000001ff,0x00000000,0x00000001,0x00000002,
0x00050082,0x00000015,0x00000124,0x0000006b,
0x00000113,0x0004003d,0x0000004e,0x00000203,
0x00000050,0x0008000c,0x00000015,0x00000209,
0x00000001,0x0000002d,0x00000124,0x00000054,
0x000001bd,0x00040064,0x0000004d,0x0000020a,
0x00000203,0x0007005f,0x00000060,0x0000020b,
0x0000020a,0x00000209,0x00000002,0x00000053,
0x0008004f,0x00000007,0x0000020c,0x0000020b,
0x0000020b,0x00000000,0x00000001,0x00000002,
0x00050080,0x00000015,0x0000012a,0x0000006b,
0x0000011a,0x0004003d,0x0000004e,0x0000020f,
0x00000050,0x0008000c,0x00000015,0x00000215,
0x00000001,0x0000002d,0x0000012a,0x00000054,
0x000001bd,0x00040064,0x0000004d,0x00000216,
0x0000020f,0x0007005f,0x00000060,0x00000217,
0x00000216,0x00000215,0x00000002,0x00000053,
0x0008004f,0x00000007,0x00000218,0x00000217,
0x00000217,0x00000000,0x00000001,0x00000002,
0x00050082,0x00000015,0x00000130,0x0000006b,
0x0000011a,0x0004003d,0x0000004e,0x0000021b,
0x00000050,0x0008000c,0x00000015,0x00000221,
0x00000001,0x0000002d,0x00000130,0x00000054,
0x000001bd,0x00040064,0x0000004d,0x00000222,
0x0000021b,0x0007005f,0x00000060,0x00000223,
0x00000222,0x00000221,0x00000002,0x00000053,
0x0008004f,0x00000007,0x00000224,0x00000223,
0x00000223,0x00000000,0x00000001,0x00000002,
0x00050081,0x00000007,0x00000136,0x00000200,
0x0000020c,0x00050081,0x00000007,0x00000138,
0x00000136,0x00000218,0x00050081,0x00000007,
0x0000013a,0x00000138,0x00000224,0x0005008e,
0x00000007,0x0000013c,0x0000013a,0x0000013b,
0x0008000c,0x00000006,0x00000142,0x00000001,
0x0000002e,0x0000013e,0x0000013f,0x000000e7,
0x00050083,0x00000007,0x00000146,0x00000200,
0x0000023b,0x0006000c,0x00000007,0x00000147,
0x00000001,0x00000004,0x00000146,0x00050083,
0x00000007,0x0000014a,0x0000020c,0x0000023b,
0x0006000c,0x00000007,0x0000014b,0x00000001,
0x00000004,0x0000014a,0x0007000c,0x00000007,
0x0000014c,0x00000001,0x00000028,0x00000147,
0x0000014b,0x00050083,0x00000007,0x0000014f,
0x00000218,0x0000023b,0x0006000c,0x00000007,
0x00000150,0x00000001,0x00000004,0x0000014f,
0x00050083,0x00000007,0x00000153,0x00000224,
0x0000023b,0x0006000c,0x00000007,0x00000154,
0x00000001,0x00000004,0x00000153,0x0007000c,
0x00000007,0x00000155,0x00000001,0x00000028,
0x00000150,0x00000154,0x0007000c,0x00000007,
0x00000156,0x00000001,0x00000028,0x0000014c,
0x00000155,0x00050051,0x00000006,0x00000158,
0x00000156,0x00000000,0x00050051,0x00000006,
0x0000015a,0x00000156,0x00000001,0x00050051,
0x00000006,0x0000015c,0x00000156,0x00000002,
0x0007000c,0x00000006,0x0000015d,0x00000001,
0x00000028,0x0000015a,0x0000015c,0x0007000c,
0x00000006,0x0000015e,0x00000001,0x00000028,
0x00000158,0x0000015d,0x000500b8,0x0000006c,
0x00000160,0x0000015e,0x00000142,0x000300f7,
0x00000162,0x00000000,0x000400fa,0x00000160,
0x00000161,0x00000162,0x000200f8,0x00000161,
0x0008000c,0x00000007,0x00000167,0x00000001,
0x0000002e,0x0000023b,0x0000013c,0x00000247,
0x000200f9,0x00000162,0x000200f8,0x00000162,
0x000700f5,0x00000007,0x0000023d,0x0000023b,
0x000000e9,0x00000167,0x00000161,0x000200f9,
0x000000ea,0x000200f8,0x000000ea,0x000700f5,
0x00000007,0x0000023c,0x0000023b,0x0000008a,
0x0000023d,0x00000162,0x00050041,0x00000084,
0x00000169,0x00000057,0x00000168,0x0004003d,
0x00000006,0x0000016a,0x00000169,0x0006000c,
0x00000006,0x0000016b,0x00000001,0x0000001d,
0x0000016a,0x0005008e,0x00000007,0x0000016d,
0x0000023c,0x0000016b,0x00050041,0x00000084,
0x0000016f,0x00000057,0x0000016e,0x0004003d,
0x00000006,0x00000170,0x0000016f,0x000500ba,
0x0000006c,0x00000171,0x00000170,0x00000087,
0x000300f7,0x00000173,0x00000000,0x000400fa,
0x00000171,0x00000172,0x00000173,0x000200f8,
0x00000172,0x00050094,0x00000006,0x00000228,
0x0000016d,0x0000001f,0x00050085,0x00000006,
0x0000017c,0x00000170,0x0000017b,0x0008000c,
0x00000006,0x0000017f,0x00000001,0x00000031,
0x00000087,0x0000017d,0x00000228,0x00050083,
0x00000006,0x00000180,0x00000093,0x0000017f,
0x00050085,0x00000006,0x00000181,0x0000017c,
0x00000180,0x00050083,0x00000007,0x00000186,
0x00000248,0x0000016d,0x0005008e,0x00000007,
0x00000187,0x00000186,0x00000181,0x00050085,
0x00000007,0x00000189,0x00000187,0x0000016d,
0x0005008e,0x00000007,0x0000018a,0x00000189,
0x00000101,0x0005008e,0x00000007,0x0000018d,
0x0000016d,0x0000018c,0x00050081,0x00000007,
0x0000018f,0x00000248,0x0000018d,0x00050088,
0x00000007,0x00000190,0x0000018a,0x0000018f,
0x00050081,0x00000007,0x00000191,0x0000016d,
0x00000190,0x000200f9,0x00000173,0x000200f8,
0x00000173,0x000700f5,0x00000007,0x0000023e,
0x0000016d,0x000000ea,0x00000191,0x00000172,
0x00050041,0x00000084,0x00000193,0x00000057,
0x00000192,0x0004003d,0x00000006,0x00000194,
0x00000193,0x000500b7,0x0000006c,0x00000195,
0x00000194,0x00000093,0x000300f7,0x00000197,
0x00000000,0x000400fa,0x00000195,0x00000196,
0x00000197,0x000200f8,0x00000196,0x00050094,
0x00000006,0x0000022c,0x0000023e,0x0000001f,
0x00060050,0x00000007,0x0000019b,0x0000022c,
0x0000022c,0x0000022c,0x00060050,0x00000007,
0x0000019f,0x00000194,0x00000194,0x00000194,
0x0008000c,0x00000007,0x000001a0,0x00000001,
0x0000002e,0x0000019b,0x0000023e,0x0000019f,
0x000200f9,0x00000197,0x000200f8,0x00000197,
0x000700f5,0x00000007,0x0000023f,0x0000023e,
0x00000173,0x000001a0,0x00000196,0x0004003d,
0x000001a1,0x000001a4,0x000001a3,0x0008000c,
0x00000007,0x000001a9,0x00000001,0x0000002b,
0x0000023f,0x0000009f,0x00000248,0x00050051,
0x00000006,0x000001aa,0x000001a9,0x00000000,
0x00050051,0x00000006,0x000001ab,0x000001a9,
0x00000001,0x00050051,0x00000006,0x000001ac,
0x000001a9,0x00000002,0x00070050,0x00000060,
0x000001ad,0x000001aa,0x000001ab,0x000001ac,
0x00000093,0x00040063,0x000001a4,0x0000006b,
0x000001ad,0x000200f9,0x000001b0,0x000200f8,
0x000001b0,0x000100fd,0x00010038}
+60
View File
@@ -0,0 +1,60 @@
#version 450
// Picture enhancement: upscaling from the stream's size to the window's.
// mode 0 = bilinear, 1 = Lanczos-3 with anti-ringing (the result is clamped to
// the four nearest source pixels, so sharp edges don't get halos).
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba8) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D src; // linear sampler
layout(push_constant) uniform Params {
ivec2 src_size;
ivec2 dst_size;
int mode;
} p;
float lanczos3(float x)
{
x = abs(x);
if (x < 1e-5) return 1.0;
if (x >= 3.0) return 0.0;
float px = 3.14159265 * x;
return 3.0 * sin(px) * sin(px / 3.0) / (px * px);
}
void main()
{
ivec2 at = ivec2(gl_GlobalInvocationID.xy);
if (at.x >= p.dst_size.x || at.y >= p.dst_size.y) return;
vec2 uv = (vec2(at) + 0.5) / vec2(p.dst_size);
if (p.mode == 0) {
imageStore(dst, at, vec4(textureLod(src, uv, 0.0).rgb, 1.0));
return;
}
vec2 pos = uv * vec2(p.src_size) - 0.5; // in source texel centres
vec2 base = floor(pos);
vec2 f = pos - base;
float wx[6], wy[6];
float sx = 0.0, sy = 0.0;
for (int i = 0; i < 6; i++) {
wx[i] = lanczos3(f.x - float(i - 2)); sx += wx[i];
wy[i] = lanczos3(f.y - float(i - 2)); sy += wy[i];
}
vec3 sum = vec3(0.0);
vec3 lo = vec3(1.0), hi = vec3(0.0);
ivec2 b = ivec2(base);
for (int y = 0; y < 6; y++) {
vec3 row = vec3(0.0);
for (int x = 0; x < 6; x++) {
ivec2 t = clamp(b + ivec2(x - 2, y - 2), ivec2(0), p.src_size - 1);
vec3 s = texelFetch(src, t, 0).rgb;
row += s * wx[x];
if ((x == 2 || x == 3) && (y == 2 || y == 3)) { lo = min(lo, s); hi = max(hi, s); }
}
sum += row * wy[y];
}
vec3 c = sum / (sx * sy);
imageStore(dst, at, vec4(clamp(c, lo, hi), 1.0));
}
+311
View File
@@ -0,0 +1,311 @@
{0x07230203,0x00010000,0x000d000b,0x000001a5,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000035,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00040047,0x00000035,0x0000000b,0x0000001c,
0x00030047,0x0000003e,0x00000002,0x00050048,
0x0000003e,0x00000000,0x00000023,0x00000000,
0x00050048,0x0000003e,0x00000001,0x00000023,
0x00000008,0x00050048,0x0000003e,0x00000002,
0x00000023,0x00000010,0x00030047,0x00000069,
0x00000019,0x00040047,0x00000069,0x00000021,
0x00000000,0x00040047,0x00000069,0x00000022,
0x00000000,0x00040047,0x0000006f,0x00000021,
0x00000001,0x00040047,0x0000006f,0x00000022,
0x00000000,0x00040047,0x00000122,0x0000000b,
0x00000019,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00030016,0x00000006,
0x00000020,0x00040020,0x00000007,0x00000007,
0x00000006,0x0004002b,0x00000006,0x0000000f,
0x3727c5ac,0x00020014,0x00000010,0x0004002b,
0x00000006,0x00000014,0x3f800000,0x0004002b,
0x00000006,0x00000017,0x40400000,0x0004002b,
0x00000006,0x0000001b,0x00000000,0x0004002b,
0x00000006,0x0000001e,0x40490fdb,0x00040015,
0x0000002e,0x00000020,0x00000001,0x00040017,
0x0000002f,0x0000002e,0x00000002,0x00040015,
0x00000032,0x00000020,0x00000000,0x00040017,
0x00000033,0x00000032,0x00000003,0x00040020,
0x00000034,0x00000001,0x00000033,0x0004003b,
0x00000034,0x00000035,0x00000001,0x00040017,
0x00000036,0x00000032,0x00000002,0x0004002b,
0x00000032,0x0000003a,0x00000000,0x0005001e,
0x0000003e,0x0000002f,0x0000002f,0x0000002e,
0x00040020,0x0000003f,0x00000009,0x0000003e,
0x0004003b,0x0000003f,0x00000040,0x00000009,
0x0004002b,0x0000002e,0x00000041,0x00000001,
0x00040020,0x00000042,0x00000009,0x0000002e,
0x0004002b,0x00000032,0x00000049,0x00000001,
0x00040017,0x00000053,0x00000006,0x00000002,
0x0004002b,0x00000006,0x00000058,0x3f000000,
0x00040020,0x0000005b,0x00000009,0x0000002f,
0x0004002b,0x0000002e,0x00000060,0x00000002,
0x0004002b,0x0000002e,0x00000063,0x00000000,
0x00090019,0x00000067,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000004,0x00040020,0x00000068,0x00000000,
0x00000067,0x0004003b,0x00000068,0x00000069,
0x00000000,0x00090019,0x0000006c,0x00000006,
0x00000001,0x00000000,0x00000000,0x00000000,
0x00000001,0x00000000,0x0003001b,0x0000006d,
0x0000006c,0x00040020,0x0000006e,0x00000000,
0x0000006d,0x0004003b,0x0000006e,0x0000006f,
0x00000000,0x00040017,0x00000072,0x00000006,
0x00000004,0x00040017,0x00000074,0x00000006,
0x00000003,0x0004002b,0x0000002e,0x00000093,
0x00000006,0x0004002b,0x00000032,0x00000095,
0x00000006,0x0004001c,0x00000096,0x00000006,
0x00000095,0x00040020,0x00000097,0x00000007,
0x00000096,0x0006002c,0x00000074,0x000000bc,
0x0000001b,0x0000001b,0x0000001b,0x0006002c,
0x00000074,0x000000be,0x00000014,0x00000014,
0x00000014,0x0005002c,0x0000002f,0x000000dc,
0x00000063,0x00000063,0x0004002b,0x0000002e,
0x000000f2,0x00000003,0x0004002b,0x00000032,
0x00000121,0x00000010,0x0006002c,0x00000033,
0x00000122,0x00000121,0x00000121,0x00000049,
0x0005002c,0x00000053,0x00000199,0x00000058,
0x00000058,0x0005002c,0x0000002f,0x0000019e,
0x00000041,0x00000041,0x0004002b,0x00000006,
0x000001a1,0x3f860a92,0x0004002b,0x00000006,
0x000001a2,0x411de9e7,0x00050036,0x00000002,
0x00000004,0x00000000,0x00000003,0x000200f8,
0x00000005,0x0004003b,0x00000097,0x00000098,
0x00000007,0x0004003b,0x00000097,0x000000a8,
0x00000007,0x000300f7,0x00000123,0x00000000,
0x000300fb,0x0000003a,0x00000124,0x000200f8,
0x00000124,0x0004003d,0x00000033,0x00000037,
0x00000035,0x0007004f,0x00000036,0x00000038,
0x00000037,0x00000037,0x00000000,0x00000001,
0x0004007c,0x0000002f,0x00000039,0x00000038,
0x00050051,0x0000002e,0x0000003d,0x00000039,
0x00000000,0x00060041,0x00000042,0x00000043,
0x00000040,0x00000041,0x0000003a,0x0004003d,
0x0000002e,0x00000044,0x00000043,0x000500af,
0x00000010,0x00000045,0x0000003d,0x00000044,
0x000400a8,0x00000010,0x00000046,0x00000045,
0x000300f7,0x00000048,0x00000000,0x000400fa,
0x00000046,0x00000047,0x00000048,0x000200f8,
0x00000047,0x00050051,0x0000002e,0x0000004b,
0x00000039,0x00000001,0x00060041,0x00000042,
0x0000004c,0x00000040,0x00000041,0x00000049,
0x0004003d,0x0000002e,0x0000004d,0x0000004c,
0x000500af,0x00000010,0x0000004e,0x0000004b,
0x0000004d,0x000200f9,0x00000048,0x000200f8,
0x00000048,0x000700f5,0x00000010,0x0000004f,
0x00000045,0x00000124,0x0000004e,0x00000047,
0x000300f7,0x00000051,0x00000000,0x000400fa,
0x0000004f,0x00000050,0x00000051,0x000200f8,
0x00000050,0x000200f9,0x00000123,0x000200f8,
0x00000051,0x0004006f,0x00000053,0x00000057,
0x00000039,0x00050081,0x00000053,0x0000005a,
0x00000057,0x00000199,0x00050041,0x0000005b,
0x0000005c,0x00000040,0x00000041,0x0004003d,
0x0000002f,0x0000005d,0x0000005c,0x0004006f,
0x00000053,0x0000005e,0x0000005d,0x00050088,
0x00000053,0x0000005f,0x0000005a,0x0000005e,
0x00050041,0x00000042,0x00000061,0x00000040,
0x00000060,0x0004003d,0x0000002e,0x00000062,
0x00000061,0x000500aa,0x00000010,0x00000064,
0x00000062,0x00000063,0x000300f7,0x00000066,
0x00000000,0x000400fa,0x00000064,0x00000065,
0x00000066,0x000200f8,0x00000065,0x0004003d,
0x00000067,0x0000006a,0x00000069,0x0004003d,
0x0000006d,0x00000070,0x0000006f,0x00070058,
0x00000072,0x00000073,0x00000070,0x0000005f,
0x00000002,0x0000001b,0x00050051,0x00000006,
0x00000076,0x00000073,0x00000000,0x00050051,
0x00000006,0x00000077,0x00000073,0x00000001,
0x00050051,0x00000006,0x00000078,0x00000073,
0x00000002,0x00070050,0x00000072,0x00000079,
0x00000076,0x00000077,0x00000078,0x00000014,
0x00040063,0x0000006a,0x00000039,0x00000079,
0x000200f9,0x00000123,0x000200f8,0x00000066,
0x00050041,0x0000005b,0x0000007d,0x00000040,
0x00000063,0x0004003d,0x0000002f,0x0000007e,
0x0000007d,0x0004006f,0x00000053,0x0000007f,
0x0000007e,0x00050085,0x00000053,0x00000080,
0x0000005f,0x0000007f,0x00050083,0x00000053,
0x00000082,0x00000080,0x00000199,0x0006000c,
0x00000053,0x00000085,0x00000001,0x00000008,
0x00000082,0x00050083,0x00000053,0x00000089,
0x00000082,0x00000085,0x000200f9,0x0000008d,
0x000200f8,0x0000008d,0x000700f5,0x00000006,
0x00000176,0x0000001b,0x00000066,0x000000b7,
0x00000090,0x000700f5,0x00000006,0x00000174,
0x0000001b,0x00000066,0x000000a7,0x00000090,
0x000700f5,0x0000002e,0x00000170,0x00000063,
0x00000066,0x000000b9,0x00000090,0x000500b1,
0x00000010,0x00000094,0x00000170,0x00000093,
0x000400f6,0x0000008f,0x00000090,0x00000000,
0x000400fa,0x00000094,0x0000008e,0x0000008f,
0x000200f8,0x0000008e,0x00050051,0x00000006,
0x0000009b,0x00000089,0x00000000,0x00050082,
0x0000002e,0x0000009d,0x00000170,0x00000060,
0x0004006f,0x00000006,0x0000009e,0x0000009d,
0x00050083,0x00000006,0x0000009f,0x0000009b,
0x0000009e,0x000300f7,0x0000014b,0x00000000,
0x000300fb,0x0000003a,0x00000133,0x000200f8,
0x00000133,0x0006000c,0x00000006,0x00000135,
0x00000001,0x00000004,0x0000009f,0x000500b8,
0x00000010,0x00000137,0x00000135,0x0000000f,
0x000300f7,0x00000139,0x00000000,0x000400fa,
0x00000137,0x00000138,0x00000139,0x000200f8,
0x00000138,0x000200f9,0x0000014b,0x000200f8,
0x00000139,0x000500be,0x00000010,0x0000013b,
0x00000135,0x00000017,0x000300f7,0x0000013d,
0x00000000,0x000400fa,0x0000013b,0x0000013c,
0x0000013d,0x000200f8,0x0000013c,0x000200f9,
0x0000014b,0x000200f8,0x0000013d,0x00050085,
0x00000006,0x0000013f,0x0000001e,0x00000135,
0x0006000c,0x00000006,0x00000141,0x00000001,
0x0000000d,0x0000013f,0x00050085,0x00000006,
0x00000142,0x00000017,0x00000141,0x00050085,
0x00000006,0x00000144,0x00000135,0x000001a1,
0x0006000c,0x00000006,0x00000145,0x00000001,
0x0000000d,0x00000144,0x00050085,0x00000006,
0x00000146,0x00000142,0x00000145,0x00050085,
0x00000006,0x000001a3,0x00000135,0x00000135,
0x00050085,0x00000006,0x00000149,0x000001a2,
0x000001a3,0x00050088,0x00000006,0x0000014a,
0x00000146,0x00000149,0x000200f9,0x0000014b,
0x000200f8,0x0000014b,0x000900f5,0x00000006,
0x00000183,0x00000014,0x00000138,0x0000001b,
0x0000013c,0x0000014a,0x0000013d,0x00050041,
0x00000007,0x000000a2,0x00000098,0x00000170,
0x0003003e,0x000000a2,0x00000183,0x0004003d,
0x00000006,0x000000a5,0x000000a2,0x00050081,
0x00000006,0x000000a7,0x00000174,0x000000a5,
0x00050051,0x00000006,0x000000ab,0x00000089,
0x00000001,0x00050083,0x00000006,0x000000af,
0x000000ab,0x0000009e,0x000300f7,0x0000016a,
0x00000000,0x000300fb,0x0000003a,0x00000152,
0x000200f8,0x00000152,0x0006000c,0x00000006,
0x00000154,0x00000001,0x00000004,0x000000af,
0x000500b8,0x00000010,0x00000156,0x00000154,
0x0000000f,0x000300f7,0x00000158,0x00000000,
0x000400fa,0x00000156,0x00000157,0x00000158,
0x000200f8,0x00000157,0x000200f9,0x0000016a,
0x000200f8,0x00000158,0x000500be,0x00000010,
0x0000015a,0x00000154,0x00000017,0x000300f7,
0x0000015c,0x00000000,0x000400fa,0x0000015a,
0x0000015b,0x0000015c,0x000200f8,0x0000015b,
0x000200f9,0x0000016a,0x000200f8,0x0000015c,
0x00050085,0x00000006,0x0000015e,0x0000001e,
0x00000154,0x0006000c,0x00000006,0x00000160,
0x00000001,0x0000000d,0x0000015e,0x00050085,
0x00000006,0x00000161,0x00000017,0x00000160,
0x00050085,0x00000006,0x00000163,0x00000154,
0x000001a1,0x0006000c,0x00000006,0x00000164,
0x00000001,0x0000000d,0x00000163,0x00050085,
0x00000006,0x00000165,0x00000161,0x00000164,
0x00050085,0x00000006,0x000001a4,0x00000154,
0x00000154,0x00050085,0x00000006,0x00000168,
0x000001a2,0x000001a4,0x00050088,0x00000006,
0x00000169,0x00000165,0x00000168,0x000200f9,
0x0000016a,0x000200f8,0x0000016a,0x000900f5,
0x00000006,0x00000186,0x00000014,0x00000157,
0x0000001b,0x0000015b,0x00000169,0x0000015c,
0x00050041,0x00000007,0x000000b2,0x000000a8,
0x00000170,0x0003003e,0x000000b2,0x00000186,
0x0004003d,0x00000006,0x000000b5,0x000000b2,
0x00050081,0x00000006,0x000000b7,0x00000176,
0x000000b5,0x000200f9,0x00000090,0x000200f8,
0x00000090,0x00050080,0x0000002e,0x000000b9,
0x00000170,0x00000041,0x000200f9,0x0000008d,
0x000200f8,0x0000008f,0x0004006e,0x0000002f,
0x000000c2,0x00000085,0x000200f9,0x000000c4,
0x000200f8,0x000000c4,0x000700f5,0x00000074,
0x00000178,0x000000bc,0x0000008f,0x00000180,
0x000000c7,0x000700f5,0x00000074,0x00000177,
0x000000be,0x0000008f,0x0000017e,0x000000c7,
0x000700f5,0x00000074,0x00000172,0x000000bc,
0x0000008f,0x0000010d,0x000000c7,0x000700f5,
0x0000002e,0x00000171,0x00000063,0x0000008f,
0x0000010f,0x000000c7,0x000500b1,0x00000010,
0x000000ca,0x00000171,0x00000093,0x000400f6,
0x000000c6,0x000000c7,0x00000000,0x000400fa,
0x000000ca,0x000000c5,0x000000c6,0x000200f8,
0x000000c5,0x000200f9,0x000000cd,0x000200f8,
0x000000cd,0x000700f5,0x00000074,0x00000180,
0x00000178,0x000000c5,0x00000198,0x000000d0,
0x000700f5,0x00000074,0x0000017e,0x00000177,
0x000000c5,0x00000197,0x000000d0,0x000700f5,
0x00000074,0x0000017a,0x000000bc,0x000000c5,
0x000000ee,0x000000d0,0x000700f5,0x0000002e,
0x00000179,0x00000063,0x000000c5,0x00000106,
0x000000d0,0x000500b1,0x00000010,0x000000d3,
0x00000179,0x00000093,0x000400f6,0x000000cf,
0x000000d0,0x00000000,0x000400fa,0x000000d3,
0x000000ce,0x000000cf,0x000200f8,0x000000ce,
0x00050082,0x0000002e,0x000000d7,0x00000179,
0x00000060,0x00050082,0x0000002e,0x000000d9,
0x00000171,0x00000060,0x00050050,0x0000002f,
0x000000da,0x000000d7,0x000000d9,0x00050080,
0x0000002f,0x000000db,0x000000c2,0x000000da,
0x00050082,0x0000002f,0x000000e0,0x0000007e,
0x0000019e,0x0008000c,0x0000002f,0x000000e1,
0x00000001,0x0000002d,0x000000db,0x000000dc,
0x000000e0,0x0004003d,0x0000006d,0x000000e3,
0x0000006f,0x00040064,0x0000006c,0x000000e5,
0x000000e3,0x0007005f,0x00000072,0x000000e6,
0x000000e5,0x000000e1,0x00000002,0x00000063,
0x0008004f,0x00000074,0x000000e7,0x000000e6,
0x000000e6,0x00000000,0x00000001,0x00000002,
0x00050041,0x00000007,0x000000ea,0x00000098,
0x00000179,0x0004003d,0x00000006,0x000000eb,
0x000000ea,0x0005008e,0x00000074,0x000000ec,
0x000000e7,0x000000eb,0x00050081,0x00000074,
0x000000ee,0x0000017a,0x000000ec,0x000500aa,
0x00000010,0x000000f0,0x00000179,0x00000060,
0x000500aa,0x00000010,0x000000f3,0x00000179,
0x000000f2,0x000500a6,0x00000010,0x000000f4,
0x000000f0,0x000000f3,0x000300f7,0x000000f6,
0x00000000,0x000400fa,0x000000f4,0x000000f5,
0x000000f6,0x000200f8,0x000000f5,0x000500aa,
0x00000010,0x000000f8,0x00000171,0x00000060,
0x000500aa,0x00000010,0x000000fa,0x00000171,
0x000000f2,0x000500a6,0x00000010,0x000000fb,
0x000000f8,0x000000fa,0x000200f9,0x000000f6,
0x000200f8,0x000000f6,0x000700f5,0x00000010,
0x000000fc,0x000000f4,0x000000ce,0x000000fb,
0x000000f5,0x000300f7,0x000000fe,0x00000000,
0x000400fa,0x000000fc,0x000000fd,0x000000fe,
0x000200f8,0x000000fd,0x0007000c,0x00000074,
0x00000101,0x00000001,0x00000025,0x0000017e,
0x000000e7,0x0007000c,0x00000074,0x00000104,
0x00000001,0x00000028,0x00000180,0x000000e7,
0x000200f9,0x000000fe,0x000200f8,0x000000fe,
0x000700f5,0x00000074,0x00000198,0x00000180,
0x000000f6,0x00000104,0x000000fd,0x000700f5,
0x00000074,0x00000197,0x0000017e,0x000000f6,
0x00000101,0x000000fd,0x000200f9,0x000000d0,
0x000200f8,0x000000d0,0x00050080,0x0000002e,
0x00000106,0x00000179,0x00000041,0x000200f9,
0x000000cd,0x000200f8,0x000000cf,0x00050041,
0x00000007,0x00000109,0x000000a8,0x00000171,
0x0004003d,0x00000006,0x0000010a,0x00000109,
0x0005008e,0x00000074,0x0000010b,0x0000017a,
0x0000010a,0x00050081,0x00000074,0x0000010d,
0x00000172,0x0000010b,0x000200f9,0x000000c7,
0x000200f8,0x000000c7,0x00050080,0x0000002e,
0x0000010f,0x00000171,0x00000041,0x000200f9,
0x000000c4,0x000200f8,0x000000c6,0x00050085,
0x00000006,0x00000114,0x00000174,0x00000176,
0x00060050,0x00000074,0x00000115,0x00000114,
0x00000114,0x00000114,0x00050088,0x00000074,
0x00000116,0x00000172,0x00000115,0x0004003d,
0x00000067,0x00000117,0x00000069,0x0008000c,
0x00000074,0x0000011c,0x00000001,0x0000002b,
0x00000116,0x00000177,0x00000178,0x00050051,
0x00000006,0x0000011d,0x0000011c,0x00000000,
0x00050051,0x00000006,0x0000011e,0x0000011c,
0x00000001,0x00050051,0x00000006,0x0000011f,
0x0000011c,0x00000002,0x00070050,0x00000072,
0x00000120,0x0000011d,0x0000011e,0x0000011f,
0x00000014,0x00040063,0x00000117,0x00000039,
0x00000120,0x000200f9,0x00000123,0x000200f8,
0x00000123,0x000100fd,0x00010038}
+51
View File
@@ -0,0 +1,51 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: feature map 1. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define LUMA_texOff(o) fetch_(in0, vec2(o)).x
vec4 hook()
{
vec4 res = vec4(-0.1572492271661758,-0.0120896836742759,0.0061487639322877,-0.2852848768234253);
res += vec4(-0.0047900392673910,0.0537447109818459,-0.0000247144635068,0.0066653941757977) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.0073144687339664,-0.0309004038572311,-0.0109181385487318,-0.0092840325087309) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(0.0591700896620750,0.1974907070398331,-0.0197357516735792,-0.0546554848551750) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(-0.0011764382943511,-0.0299451071768999,0.0229587312787771,0.0021908886265010) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(0.0098101310431957,0.0080995410680771,-0.0030452020000666,-0.0132035519927740) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(-0.0168330334126949,-0.0743711441755295,-0.0259261634200811,0.0234480481594801) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(0.0239933785051107,0.1896541714668274,0.0207756329327822,-0.0370332375168800) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.0094799501821399,-0.0652511194348335,-0.0004292793164495,-0.0726212188601494) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(0.0297284796833992,-0.1210186630487442,-0.0202929321676493,-0.0574462898075581) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(-0.0318185277283192,0.0840775370597839,0.0110451309010386,0.0415569432079792) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.0253141783177853,0.1168256178498268,0.1159729585051537,0.0963164269924164) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(-0.1103615835309029,-0.0276833958923817,-0.4999594092369080,0.1053867191076279) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(1.1100435256958008,0.0646764487028122,0.0154005717486143,0.8891586661338806) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.1229330673813820,0.1719468832015991,0.5730338096618652,-0.1645544171333313) * float(LUMA_texOff(vec2(0,1)));
res += vec4(-0.0090442728251219,-0.3023961782455444,-0.1589493155479431,0.0418574027717113) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.0031942036002874,-0.1310926079750061,0.0075543406419456,-0.0016449346439913) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.0995150282979012,-0.0701921209692955,-0.0130895879119635,0.1344170123338699) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.0060519003309309,-0.1533465683460236,0.0114194005727768,0.0264683905988932) * float(LUMA_texOff(vec2(1,0)));
res += vec4(0.0244008023291826,0.1881769001483917,-0.0206351149827242,-0.0628309547901154) * float(LUMA_texOff(vec2(1,1)));
res += vec4(0.0075713125988841,0.0508594363927841,0.0430423170328140,-0.0124188791960478) * float(LUMA_texOff(vec2(1,2)));
res += vec4(-0.0166875869035721,-0.0047865519300103,0.0006719123339280,0.0316803231835365) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(-0.0058461269363761,0.0990798473358154,-0.0177743826061487,-0.0066122291609645) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(-0.0972401946783066,-0.0225446373224258,-0.0037693574558944,0.1953062713146210) * float(LUMA_texOff(vec2(2,0)));
res += vec4(-0.0216837190091610,-0.1824268400669098,0.0069816261529922,0.0283037684857845) * float(LUMA_texOff(vec2(2,1)));
res += vec4(-0.0025767991319299,0.0459827110171318,-0.0080216089263558,0.0084134787321091) * float(LUMA_texOff(vec2(2,2)));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+532
View File
@@ -0,0 +1,532 @@
{0x07230203,0x00010000,0x000d000b,0x000003af,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000016e,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000003a,0x00000021,0x00000001,
0x00040047,0x0000003a,0x00000022,0x00000000,
0x00040047,0x0000016e,0x0000000b,0x0000001c,
0x00030047,0x0000018a,0x00000019,0x00040047,
0x0000018a,0x00000021,0x00000000,0x00040047,
0x0000018a,0x00000022,0x00000000,0x00040047,
0x0000018f,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0xbe2105f1,0x0004002b,
0x00000006,0x00000031,0xbc4613cf,0x0004002b,
0x00000006,0x00000032,0x3bc97b92,0x0004002b,
0x00000006,0x00000033,0xbe9210dc,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x0004002b,0x00000006,
0x00000035,0xbb9cf5c3,0x0004002b,0x00000006,
0x00000036,0x3d5c236a,0x0004002b,0x00000006,
0x00000037,0xb7cf51e8,0x0004002b,0x00000006,
0x00000038,0x3bda6961,0x0007002c,0x0000000c,
0x00000039,0x00000035,0x00000036,0x00000037,
0x00000038,0x0004003b,0x00000009,0x0000003a,
0x00000000,0x00040015,0x0000003f,0x00000020,
0x00000000,0x0004002b,0x0000003f,0x00000040,
0x00000000,0x0004002b,0x00000006,0x00000045,
0x3befae36,0x0004002b,0x00000006,0x00000046,
0xbcfd22d8,0x0004002b,0x00000006,0x00000047,
0xbc32e1fe,0x0004002b,0x00000006,0x00000048,
0xbc181c0e,0x0007002c,0x0000000c,0x00000049,
0x00000045,0x00000046,0x00000047,0x00000048,
0x0004002b,0x00000006,0x00000052,0x3d725c56,
0x0004002b,0x00000006,0x00000053,0x3e4a3b01,
0x0004002b,0x00000006,0x00000054,0xbca1acdf,
0x0004002b,0x00000006,0x00000055,0xbd5fde6e,
0x0007002c,0x0000000c,0x00000056,0x00000052,
0x00000053,0x00000054,0x00000055,0x0004002b,
0x00000006,0x0000005f,0xba9a32b8,0x0004002b,
0x00000006,0x00000060,0xbcf54f71,0x0004002b,
0x00000006,0x00000061,0x3cbc13f3,0x0004002b,
0x00000006,0x00000062,0x3b0f9503,0x0007002c,
0x0000000c,0x00000063,0x0000005f,0x00000060,
0x00000061,0x00000062,0x0004002b,0x00000006,
0x0000006c,0x3c20baac,0x0004002b,0x00000006,
0x0000006d,0x3c04b3f0,0x0004002b,0x00000006,
0x0000006e,0xbb479203,0x0004002b,0x00000006,
0x0000006f,0xbc5853b6,0x0007002c,0x0000000c,
0x00000070,0x0000006c,0x0000006d,0x0000006e,
0x0000006f,0x0004002b,0x00000006,0x00000079,
0xbc89e56e,0x0004002b,0x00000006,0x0000007a,
0xbd984fe6,0x0004002b,0x00000006,0x0000007b,
0xbcd4631b,0x0004002b,0x00000006,0x0000007c,
0x3cc0161f,0x0007002c,0x0000000c,0x0000007d,
0x00000079,0x0000007a,0x0000007b,0x0000007c,
0x0004002b,0x00000006,0x00000085,0x3cc48dc3,
0x0004002b,0x00000006,0x00000086,0x3e4234b4,
0x0004002b,0x00000006,0x00000087,0x3caa31a9,
0x0004002b,0x00000006,0x00000088,0xbd17b02a,
0x0007002c,0x0000000c,0x00000089,0x00000085,
0x00000086,0x00000087,0x00000088,0x0004002b,
0x00000006,0x00000091,0x3c1b51cb,0x0004002b,
0x00000006,0x00000092,0xbd85a261,0x0004002b,
0x00000006,0x00000093,0xb9e110e5,0x0004002b,
0x00000006,0x00000094,0xbd94ba6f,0x0007002c,
0x0000000c,0x00000095,0x00000091,0x00000092,
0x00000093,0x00000094,0x0004002b,0x00000006,
0x0000009d,0x3cf38924,0x0004002b,0x00000006,
0x0000009e,0xbdf7d8a2,0x0004002b,0x00000006,
0x0000009f,0xbca63d5d,0x0004002b,0x00000006,
0x000000a0,0xbd6b4ccd,0x0007002c,0x0000000c,
0x000000a1,0x0000009d,0x0000009e,0x0000009f,
0x000000a0,0x0004002b,0x00000006,0x000000a9,
0xbd025425,0x0004002b,0x00000006,0x000000aa,
0x3dac30d8,0x0004002b,0x00000006,0x000000ab,
0x3c34f6a3,0x0004002b,0x00000006,0x000000ac,
0x3d2a379d,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000b5,0xbccf5fae,
0x0004002b,0x00000006,0x000000b6,0x3def4245,
0x0004002b,0x00000006,0x000000b7,0x3ded833b,
0x0004002b,0x00000006,0x000000b8,0x3dc5418c,
0x0007002c,0x0000000c,0x000000b9,0x000000b5,
0x000000b6,0x000000b7,0x000000b8,0x0004002b,
0x00000006,0x000000c1,0xbde20541,0x0004002b,
0x00000006,0x000000c2,0xbce2c84a,0x0004002b,
0x00000006,0x000000c3,0xbefffaae,0x0004002b,
0x00000006,0x000000c4,0x3dd7d4fe,0x0007002c,
0x0000000c,0x000000c5,0x000000c1,0x000000c2,
0x000000c3,0x000000c4,0x0004002b,0x00000006,
0x000000cd,0x3f8e15e8,0x0004002b,0x00000006,
0x000000ce,0x3d847516,0x0004002b,0x00000006,
0x000000cf,0x3c7c52ae,0x0004002b,0x00000006,
0x000000d0,0x3f639fe7,0x0007002c,0x0000000c,
0x000000d1,0x000000cd,0x000000ce,0x000000cf,
0x000000d0,0x0004002b,0x00000006,0x000000d9,
0x3dfbc455,0x0004002b,0x00000006,0x000000da,
0x3e3012d8,0x0004002b,0x00000006,0x000000db,
0x3f12b258,0x0004002b,0x00000006,0x000000dc,
0xbe2880f4,0x0007002c,0x0000000c,0x000000dd,
0x000000d9,0x000000da,0x000000db,0x000000dc,
0x0004002b,0x00000006,0x000000e5,0xbc142e6e,
0x0004002b,0x00000006,0x000000e6,0xbe9ad3ac,
0x0004002b,0x00000006,0x000000e7,0xbe22c39c,
0x0004002b,0x00000006,0x000000e8,0x3d2b72ab,
0x0007002c,0x0000000c,0x000000e9,0x000000e5,
0x000000e6,0x000000e7,0x000000e8,0x0004002b,
0x00000006,0x000000f1,0x3b5155d8,0x0004002b,
0x00000006,0x000000f2,0xbe063d24,0x0004002b,
0x00000006,0x000000f3,0x3bf78a67,0x0004002b,
0x00000006,0x000000f4,0xbad79ad9,0x0007002c,
0x0000000c,0x000000f5,0x000000f1,0x000000f2,
0x000000f3,0x000000f4,0x0004002b,0x00000006,
0x000000fd,0xbdcbce89,0x0004002b,0x00000006,
0x000000fe,0xbd8fc0e3,0x0004002b,0x00000006,
0x000000ff,0xbc5675b6,0x0004002b,0x00000006,
0x00000100,0x3e09a49d,0x0007002c,0x0000000c,
0x00000101,0x000000fd,0x000000fe,0x000000ff,
0x00000100,0x0004002b,0x00000006,0x00000109,
0x3bc64f05,0x0004002b,0x00000006,0x0000010a,
0xbe1d06e2,0x0004002b,0x00000006,0x0000010b,
0x3c3b1870,0x0004002b,0x00000006,0x0000010c,
0x3cd8d43d,0x0007002c,0x0000000c,0x0000010d,
0x00000109,0x0000010a,0x0000010b,0x0000010c,
0x0004002b,0x00000006,0x00000115,0x3cc7e431,
0x0004002b,0x00000006,0x00000116,0x3e40b172,
0x0004002b,0x00000006,0x00000117,0xbca90af9,
0x0004002b,0x00000006,0x00000118,0xbd80ad84,
0x0007002c,0x0000000c,0x00000119,0x00000115,
0x00000116,0x00000117,0x00000118,0x0004002b,
0x00000006,0x00000121,0x3bf818c6,0x0004002b,
0x00000006,0x00000122,0x3d5051fc,0x0004002b,
0x00000006,0x00000123,0x3d304d24,0x0004002b,
0x00000006,0x00000124,0xbc4b788e,0x0007002c,
0x0000000c,0x00000125,0x00000121,0x00000122,
0x00000123,0x00000124,0x0004002b,0x00000006,
0x0000012d,0xbc88b468,0x0004002b,0x00000006,
0x0000012e,0xbb9cd882,0x0004002b,0x00000006,
0x0000012f,0x3a302346,0x0004002b,0x00000006,
0x00000130,0x3d01c33a,0x0007002c,0x0000000c,
0x00000131,0x0000012d,0x0000012e,0x0000012f,
0x00000130,0x0004002b,0x00000006,0x00000139,
0xbbbf90de,0x0004002b,0x00000006,0x0000013a,
0x3dcaea60,0x0004002b,0x00000006,0x0000013b,
0xbc919b95,0x0004002b,0x00000006,0x0000013c,
0xbbd8ab66,0x0007002c,0x0000000c,0x0000013d,
0x00000139,0x0000013a,0x0000013b,0x0000013c,
0x0004002b,0x00000006,0x00000145,0xbdc725de,
0x0004002b,0x00000006,0x00000146,0xbcb8af88,
0x0004002b,0x00000006,0x00000147,0xbb770753,
0x0004002b,0x00000006,0x00000148,0x3e47fe5e,
0x0007002c,0x0000000c,0x00000149,0x00000145,
0x00000146,0x00000147,0x00000148,0x0004002b,
0x00000006,0x00000151,0xbcb1a20e,0x0004002b,
0x00000006,0x00000152,0xbe3ace1a,0x0004002b,
0x00000006,0x00000153,0x3be4c620,0x0004002b,
0x00000006,0x00000154,0x3ce7dd4e,0x0007002c,
0x0000000c,0x00000155,0x00000151,0x00000152,
0x00000153,0x00000154,0x0004002b,0x00000006,
0x0000015d,0xbb28df84,0x0004002b,0x00000006,
0x0000015e,0x3d3c585e,0x0004002b,0x00000006,
0x0000015f,0xbc036d11,0x0004002b,0x00000006,
0x00000160,0x3c09d8b0,0x0007002c,0x0000000c,
0x00000161,0x0000015d,0x0000015e,0x0000015f,
0x00000160,0x00040017,0x0000016c,0x0000003f,
0x00000003,0x00040020,0x0000016d,0x00000001,
0x0000016c,0x0004003b,0x0000016d,0x0000016e,
0x00000001,0x00040017,0x0000016f,0x0000003f,
0x00000002,0x00020014,0x00000173,0x00040020,
0x00000177,0x00000009,0x00000016,0x0004002b,
0x0000003f,0x0000017e,0x00000001,0x00090019,
0x00000188,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000002,0x00000002,
0x00040020,0x00000189,0x00000000,0x00000188,
0x0004003b,0x00000189,0x0000018a,0x00000000,
0x0004002b,0x0000003f,0x0000018e,0x00000010,
0x0006002c,0x0000016c,0x0000018f,0x0000018e,
0x0000018e,0x0000017e,0x0004002b,0x00000016,
0x00000394,0xfffffffe,0x0005002c,0x00000017,
0x00000395,0x00000394,0x00000394,0x0005002c,
0x00000017,0x00000396,0x00000026,0x00000026,
0x0004002b,0x00000016,0x00000397,0xffffffff,
0x0005002c,0x00000017,0x00000398,0x00000394,
0x00000397,0x0005002c,0x00000017,0x00000399,
0x00000394,0x0000001e,0x0005002c,0x00000017,
0x0000039a,0x00000394,0x00000026,0x0004002b,
0x00000016,0x0000039b,0x00000002,0x0005002c,
0x00000017,0x0000039c,0x00000394,0x0000039b,
0x0005002c,0x00000017,0x0000039d,0x00000397,
0x00000394,0x0005002c,0x00000017,0x0000039e,
0x00000397,0x00000397,0x0005002c,0x00000017,
0x0000039f,0x00000397,0x0000001e,0x0005002c,
0x00000017,0x000003a0,0x00000397,0x00000026,
0x0005002c,0x00000017,0x000003a1,0x00000397,
0x0000039b,0x0005002c,0x00000017,0x000003a2,
0x0000001e,0x00000394,0x0005002c,0x00000017,
0x000003a3,0x0000001e,0x00000397,0x0005002c,
0x00000017,0x000003a4,0x0000001e,0x00000026,
0x0005002c,0x00000017,0x000003a5,0x0000001e,
0x0000039b,0x0005002c,0x00000017,0x000003a6,
0x00000026,0x00000394,0x0005002c,0x00000017,
0x000003a7,0x00000026,0x00000397,0x0005002c,
0x00000017,0x000003a8,0x00000026,0x0000001e,
0x0005002c,0x00000017,0x000003a9,0x00000026,
0x0000039b,0x0005002c,0x00000017,0x000003aa,
0x0000039b,0x00000394,0x0005002c,0x00000017,
0x000003ab,0x0000039b,0x00000397,0x0005002c,
0x00000017,0x000003ac,0x0000039b,0x0000001e,
0x0005002c,0x00000017,0x000003ad,0x0000039b,
0x00000026,0x0005002c,0x00000017,0x000003ae,
0x0000039b,0x0000039b,0x00050036,0x00000002,
0x00000004,0x00000000,0x00000003,0x000200f8,
0x00000005,0x000300f7,0x00000192,0x00000000,
0x000300fb,0x00000040,0x00000193,0x000200f8,
0x00000193,0x0004003d,0x0000016c,0x00000170,
0x0000016e,0x0007004f,0x0000016f,0x00000171,
0x00000170,0x00000170,0x00000000,0x00000001,
0x0004007c,0x00000017,0x00000172,0x00000171,
0x00050051,0x00000016,0x00000176,0x00000172,
0x00000000,0x00060041,0x00000177,0x00000178,
0x00000022,0x0000001e,0x00000040,0x0004003d,
0x00000016,0x00000179,0x00000178,0x000500af,
0x00000173,0x0000017a,0x00000176,0x00000179,
0x000400a8,0x00000173,0x0000017b,0x0000017a,
0x000300f7,0x0000017d,0x00000000,0x000400fa,
0x0000017b,0x0000017c,0x0000017d,0x000200f8,
0x0000017c,0x00050051,0x00000016,0x00000180,
0x00000172,0x00000001,0x00060041,0x00000177,
0x00000181,0x00000022,0x0000001e,0x0000017e,
0x0004003d,0x00000016,0x00000182,0x00000181,
0x000500af,0x00000173,0x00000183,0x00000180,
0x00000182,0x000200f9,0x0000017d,0x000200f8,
0x0000017d,0x000700f5,0x00000173,0x00000184,
0x0000017a,0x00000193,0x00000183,0x0000017c,
0x000300f7,0x00000186,0x00000000,0x000400fa,
0x00000184,0x00000185,0x00000186,0x000200f8,
0x00000185,0x000200f9,0x00000192,0x000200f8,
0x00000186,0x0004003d,0x00000188,0x0000018b,
0x0000018a,0x0004003d,0x00000008,0x00000234,
0x0000003a,0x00050080,0x00000017,0x00000238,
0x00000172,0x00000395,0x00050041,0x00000023,
0x00000239,0x00000022,0x0000001e,0x0004003d,
0x00000017,0x0000023a,0x00000239,0x00050082,
0x00000017,0x0000023c,0x0000023a,0x00000396,
0x0008000c,0x00000017,0x0000023d,0x00000001,
0x0000002d,0x00000238,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x0000023e,0x00000234,
0x0007005f,0x0000000c,0x0000023f,0x0000023e,
0x0000023d,0x00000002,0x0000001e,0x00050051,
0x00000006,0x000001b5,0x0000023f,0x00000000,
0x0005008e,0x0000000c,0x000001b6,0x00000039,
0x000001b5,0x00050081,0x0000000c,0x000001b8,
0x00000034,0x000001b6,0x0004003d,0x00000008,
0x00000242,0x0000003a,0x00050080,0x00000017,
0x00000246,0x00000172,0x00000398,0x0008000c,
0x00000017,0x0000024b,0x00000001,0x0000002d,
0x00000246,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x0000024c,0x00000242,0x0007005f,
0x0000000c,0x0000024d,0x0000024c,0x0000024b,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x000001ba,0x0000024d,0x00000000,0x0005008e,
0x0000000c,0x000001bb,0x00000049,0x000001ba,
0x00050081,0x0000000c,0x000001bd,0x000001b8,
0x000001bb,0x0004003d,0x00000008,0x00000250,
0x0000003a,0x00050080,0x00000017,0x00000254,
0x00000172,0x00000399,0x0008000c,0x00000017,
0x00000259,0x00000001,0x0000002d,0x00000254,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x0000025a,0x00000250,0x0007005f,0x0000000c,
0x0000025b,0x0000025a,0x00000259,0x00000002,
0x0000001e,0x00050051,0x00000006,0x000001bf,
0x0000025b,0x00000000,0x0005008e,0x0000000c,
0x000001c0,0x00000056,0x000001bf,0x00050081,
0x0000000c,0x000001c2,0x000001bd,0x000001c0,
0x0004003d,0x00000008,0x0000025e,0x0000003a,
0x00050080,0x00000017,0x00000262,0x00000172,
0x0000039a,0x0008000c,0x00000017,0x00000267,
0x00000001,0x0000002d,0x00000262,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x00000268,
0x0000025e,0x0007005f,0x0000000c,0x00000269,
0x00000268,0x00000267,0x00000002,0x0000001e,
0x00050051,0x00000006,0x000001c4,0x00000269,
0x00000000,0x0005008e,0x0000000c,0x000001c5,
0x00000063,0x000001c4,0x00050081,0x0000000c,
0x000001c7,0x000001c2,0x000001c5,0x0004003d,
0x00000008,0x0000026c,0x0000003a,0x00050080,
0x00000017,0x00000270,0x00000172,0x0000039c,
0x0008000c,0x00000017,0x00000275,0x00000001,
0x0000002d,0x00000270,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x00000276,0x0000026c,
0x0007005f,0x0000000c,0x00000277,0x00000276,
0x00000275,0x00000002,0x0000001e,0x00050051,
0x00000006,0x000001c9,0x00000277,0x00000000,
0x0005008e,0x0000000c,0x000001ca,0x00000070,
0x000001c9,0x00050081,0x0000000c,0x000001cc,
0x000001c7,0x000001ca,0x0004003d,0x00000008,
0x0000027a,0x0000003a,0x00050080,0x00000017,
0x0000027e,0x00000172,0x0000039d,0x0008000c,
0x00000017,0x00000283,0x00000001,0x0000002d,
0x0000027e,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x00000284,0x0000027a,0x0007005f,
0x0000000c,0x00000285,0x00000284,0x00000283,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x000001ce,0x00000285,0x00000000,0x0005008e,
0x0000000c,0x000001cf,0x0000007d,0x000001ce,
0x00050081,0x0000000c,0x000001d1,0x000001cc,
0x000001cf,0x0004003d,0x00000008,0x00000288,
0x0000003a,0x00050080,0x00000017,0x0000028c,
0x00000172,0x0000039e,0x0008000c,0x00000017,
0x00000291,0x00000001,0x0000002d,0x0000028c,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x00000292,0x00000288,0x0007005f,0x0000000c,
0x00000293,0x00000292,0x00000291,0x00000002,
0x0000001e,0x00050051,0x00000006,0x000001d3,
0x00000293,0x00000000,0x0005008e,0x0000000c,
0x000001d4,0x00000089,0x000001d3,0x00050081,
0x0000000c,0x000001d6,0x000001d1,0x000001d4,
0x0004003d,0x00000008,0x00000296,0x0000003a,
0x00050080,0x00000017,0x0000029a,0x00000172,
0x0000039f,0x0008000c,0x00000017,0x0000029f,
0x00000001,0x0000002d,0x0000029a,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x000002a0,
0x00000296,0x0007005f,0x0000000c,0x000002a1,
0x000002a0,0x0000029f,0x00000002,0x0000001e,
0x00050051,0x00000006,0x000001d8,0x000002a1,
0x00000000,0x0005008e,0x0000000c,0x000001d9,
0x00000095,0x000001d8,0x00050081,0x0000000c,
0x000001db,0x000001d6,0x000001d9,0x0004003d,
0x00000008,0x000002a4,0x0000003a,0x00050080,
0x00000017,0x000002a8,0x00000172,0x000003a0,
0x0008000c,0x00000017,0x000002ad,0x00000001,
0x0000002d,0x000002a8,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x000002ae,0x000002a4,
0x0007005f,0x0000000c,0x000002af,0x000002ae,
0x000002ad,0x00000002,0x0000001e,0x00050051,
0x00000006,0x000001dd,0x000002af,0x00000000,
0x0005008e,0x0000000c,0x000001de,0x000000a1,
0x000001dd,0x00050081,0x0000000c,0x000001e0,
0x000001db,0x000001de,0x0004003d,0x00000008,
0x000002b2,0x0000003a,0x00050080,0x00000017,
0x000002b6,0x00000172,0x000003a1,0x0008000c,
0x00000017,0x000002bb,0x00000001,0x0000002d,
0x000002b6,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x000002bc,0x000002b2,0x0007005f,
0x0000000c,0x000002bd,0x000002bc,0x000002bb,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x000001e2,0x000002bd,0x00000000,0x0005008e,
0x0000000c,0x000001e3,0x000000ad,0x000001e2,
0x00050081,0x0000000c,0x000001e5,0x000001e0,
0x000001e3,0x0004003d,0x00000008,0x000002c0,
0x0000003a,0x00050080,0x00000017,0x000002c4,
0x00000172,0x000003a2,0x0008000c,0x00000017,
0x000002c9,0x00000001,0x0000002d,0x000002c4,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x000002ca,0x000002c0,0x0007005f,0x0000000c,
0x000002cb,0x000002ca,0x000002c9,0x00000002,
0x0000001e,0x00050051,0x00000006,0x000001e7,
0x000002cb,0x00000000,0x0005008e,0x0000000c,
0x000001e8,0x000000b9,0x000001e7,0x00050081,
0x0000000c,0x000001ea,0x000001e5,0x000001e8,
0x0004003d,0x00000008,0x000002ce,0x0000003a,
0x00050080,0x00000017,0x000002d2,0x00000172,
0x000003a3,0x0008000c,0x00000017,0x000002d7,
0x00000001,0x0000002d,0x000002d2,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x000002d8,
0x000002ce,0x0007005f,0x0000000c,0x000002d9,
0x000002d8,0x000002d7,0x00000002,0x0000001e,
0x00050051,0x00000006,0x000001ec,0x000002d9,
0x00000000,0x0005008e,0x0000000c,0x000001ed,
0x000000c5,0x000001ec,0x00050081,0x0000000c,
0x000001ef,0x000001ea,0x000001ed,0x0004003d,
0x00000008,0x000002dc,0x0000003a,0x0008000c,
0x00000017,0x000002e5,0x00000001,0x0000002d,
0x00000172,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x000002e6,0x000002dc,0x0007005f,
0x0000000c,0x000002e7,0x000002e6,0x000002e5,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x000001f1,0x000002e7,0x00000000,0x0005008e,
0x0000000c,0x000001f2,0x000000d1,0x000001f1,
0x00050081,0x0000000c,0x000001f4,0x000001ef,
0x000001f2,0x0004003d,0x00000008,0x000002ea,
0x0000003a,0x00050080,0x00000017,0x000002ee,
0x00000172,0x000003a4,0x0008000c,0x00000017,
0x000002f3,0x00000001,0x0000002d,0x000002ee,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x000002f4,0x000002ea,0x0007005f,0x0000000c,
0x000002f5,0x000002f4,0x000002f3,0x00000002,
0x0000001e,0x00050051,0x00000006,0x000001f6,
0x000002f5,0x00000000,0x0005008e,0x0000000c,
0x000001f7,0x000000dd,0x000001f6,0x00050081,
0x0000000c,0x000001f9,0x000001f4,0x000001f7,
0x0004003d,0x00000008,0x000002f8,0x0000003a,
0x00050080,0x00000017,0x000002fc,0x00000172,
0x000003a5,0x0008000c,0x00000017,0x00000301,
0x00000001,0x0000002d,0x000002fc,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x00000302,
0x000002f8,0x0007005f,0x0000000c,0x00000303,
0x00000302,0x00000301,0x00000002,0x0000001e,
0x00050051,0x00000006,0x000001fb,0x00000303,
0x00000000,0x0005008e,0x0000000c,0x000001fc,
0x000000e9,0x000001fb,0x00050081,0x0000000c,
0x000001fe,0x000001f9,0x000001fc,0x0004003d,
0x00000008,0x00000306,0x0000003a,0x00050080,
0x00000017,0x0000030a,0x00000172,0x000003a6,
0x0008000c,0x00000017,0x0000030f,0x00000001,
0x0000002d,0x0000030a,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x00000310,0x00000306,
0x0007005f,0x0000000c,0x00000311,0x00000310,
0x0000030f,0x00000002,0x0000001e,0x00050051,
0x00000006,0x00000200,0x00000311,0x00000000,
0x0005008e,0x0000000c,0x00000201,0x000000f5,
0x00000200,0x00050081,0x0000000c,0x00000203,
0x000001fe,0x00000201,0x0004003d,0x00000008,
0x00000314,0x0000003a,0x00050080,0x00000017,
0x00000318,0x00000172,0x000003a7,0x0008000c,
0x00000017,0x0000031d,0x00000001,0x0000002d,
0x00000318,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x0000031e,0x00000314,0x0007005f,
0x0000000c,0x0000031f,0x0000031e,0x0000031d,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x00000205,0x0000031f,0x00000000,0x0005008e,
0x0000000c,0x00000206,0x00000101,0x00000205,
0x00050081,0x0000000c,0x00000208,0x00000203,
0x00000206,0x0004003d,0x00000008,0x00000322,
0x0000003a,0x00050080,0x00000017,0x00000326,
0x00000172,0x000003a8,0x0008000c,0x00000017,
0x0000032b,0x00000001,0x0000002d,0x00000326,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x0000032c,0x00000322,0x0007005f,0x0000000c,
0x0000032d,0x0000032c,0x0000032b,0x00000002,
0x0000001e,0x00050051,0x00000006,0x0000020a,
0x0000032d,0x00000000,0x0005008e,0x0000000c,
0x0000020b,0x0000010d,0x0000020a,0x00050081,
0x0000000c,0x0000020d,0x00000208,0x0000020b,
0x0004003d,0x00000008,0x00000330,0x0000003a,
0x00050080,0x00000017,0x00000334,0x00000172,
0x00000396,0x0008000c,0x00000017,0x00000339,
0x00000001,0x0000002d,0x00000334,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x0000033a,
0x00000330,0x0007005f,0x0000000c,0x0000033b,
0x0000033a,0x00000339,0x00000002,0x0000001e,
0x00050051,0x00000006,0x0000020f,0x0000033b,
0x00000000,0x0005008e,0x0000000c,0x00000210,
0x00000119,0x0000020f,0x00050081,0x0000000c,
0x00000212,0x0000020d,0x00000210,0x0004003d,
0x00000008,0x0000033e,0x0000003a,0x00050080,
0x00000017,0x00000342,0x00000172,0x000003a9,
0x0008000c,0x00000017,0x00000347,0x00000001,
0x0000002d,0x00000342,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x00000348,0x0000033e,
0x0007005f,0x0000000c,0x00000349,0x00000348,
0x00000347,0x00000002,0x0000001e,0x00050051,
0x00000006,0x00000214,0x00000349,0x00000000,
0x0005008e,0x0000000c,0x00000215,0x00000125,
0x00000214,0x00050081,0x0000000c,0x00000217,
0x00000212,0x00000215,0x0004003d,0x00000008,
0x0000034c,0x0000003a,0x00050080,0x00000017,
0x00000350,0x00000172,0x000003aa,0x0008000c,
0x00000017,0x00000355,0x00000001,0x0000002d,
0x00000350,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x00000356,0x0000034c,0x0007005f,
0x0000000c,0x00000357,0x00000356,0x00000355,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x00000219,0x00000357,0x00000000,0x0005008e,
0x0000000c,0x0000021a,0x00000131,0x00000219,
0x00050081,0x0000000c,0x0000021c,0x00000217,
0x0000021a,0x0004003d,0x00000008,0x0000035a,
0x0000003a,0x00050080,0x00000017,0x0000035e,
0x00000172,0x000003ab,0x0008000c,0x00000017,
0x00000363,0x00000001,0x0000002d,0x0000035e,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x00000364,0x0000035a,0x0007005f,0x0000000c,
0x00000365,0x00000364,0x00000363,0x00000002,
0x0000001e,0x00050051,0x00000006,0x0000021e,
0x00000365,0x00000000,0x0005008e,0x0000000c,
0x0000021f,0x0000013d,0x0000021e,0x00050081,
0x0000000c,0x00000221,0x0000021c,0x0000021f,
0x0004003d,0x00000008,0x00000368,0x0000003a,
0x00050080,0x00000017,0x0000036c,0x00000172,
0x000003ac,0x0008000c,0x00000017,0x00000371,
0x00000001,0x0000002d,0x0000036c,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x00000372,
0x00000368,0x0007005f,0x0000000c,0x00000373,
0x00000372,0x00000371,0x00000002,0x0000001e,
0x00050051,0x00000006,0x00000223,0x00000373,
0x00000000,0x0005008e,0x0000000c,0x00000224,
0x00000149,0x00000223,0x00050081,0x0000000c,
0x00000226,0x00000221,0x00000224,0x0004003d,
0x00000008,0x00000376,0x0000003a,0x00050080,
0x00000017,0x0000037a,0x00000172,0x000003ad,
0x0008000c,0x00000017,0x0000037f,0x00000001,
0x0000002d,0x0000037a,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x00000380,0x00000376,
0x0007005f,0x0000000c,0x00000381,0x00000380,
0x0000037f,0x00000002,0x0000001e,0x00050051,
0x00000006,0x00000228,0x00000381,0x00000000,
0x0005008e,0x0000000c,0x00000229,0x00000155,
0x00000228,0x00050081,0x0000000c,0x0000022b,
0x00000226,0x00000229,0x0004003d,0x00000008,
0x00000384,0x0000003a,0x00050080,0x00000017,
0x00000388,0x00000172,0x000003ae,0x0008000c,
0x00000017,0x0000038d,0x00000001,0x0000002d,
0x00000388,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x0000038e,0x00000384,0x0007005f,
0x0000000c,0x0000038f,0x0000038e,0x0000038d,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x0000022d,0x0000038f,0x00000000,0x0005008e,
0x0000000c,0x0000022e,0x00000161,0x0000022d,
0x00050081,0x0000000c,0x00000230,0x0000022b,
0x0000022e,0x00040063,0x0000018b,0x00000172,
0x00000230,0x000200f9,0x00000192,0x000200f8,
0x00000192,0x000100fd,0x00010038}
+51
View File
@@ -0,0 +1,51 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: feature map 2. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define LUMA_texOff(o) fetch_(in0, vec2(o)).x
vec4 hook()
{
vec4 res = vec4(0.0541447550058365,0.0088306749239564,-0.0112389577552676,-0.0127860950306058);
res += vec4(0.0142660010606050,0.0137931071221828,0.0061188107356429,-0.0104134222492576) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.0147292809560895,-0.0289912857115269,0.0266769435256720,0.0933856964111328) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(-0.1734338253736496,0.1116316691040993,-0.1973157376050949,-0.0581855811178684) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(0.0347507223486900,-0.0341566652059555,0.0061667622067034,0.0075258882716298) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(0.0069884369149804,-0.0194250214844942,0.0080830128863454,-0.0036874092184007) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(0.0233764201402664,0.0344744995236397,0.0162145942449570,0.0979529991745949) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(0.1280796974897385,-0.1018339172005653,-0.0132977198809385,-0.0019474622095004) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.4286882579326630,0.1222677752375603,0.7046694159507751,0.0945475697517395) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(0.1107441782951355,-0.0134433070197701,-0.0174900908023119,-0.1686445474624634) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(0.0321478620171547,0.0065357843413949,0.0300805997103453,0.0420113280415535) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.1240341588854790,0.0950303301215172,-0.0129648456349969,-0.2681856453418732) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(0.4846960902214050,0.0351924635469913,0.0223043337464333,-0.1273630708456039) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(-1.9379507303237915,-0.2444442063570023,0.0291962660849094,-0.3835578560829163) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.6396278142929077,-0.0765938311815262,-0.0552659817039967,0.4393545985221863) * float(LUMA_texOff(vec2(0,1)));
res += vec4(-0.1969728022813797,-0.0607173256576061,0.0131113547831774,0.0542017817497253) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.0091696009039879,-0.0031533432193100,-0.0368777588009834,-0.0459998287260532) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(0.1096992492675781,0.2597902715206146,0.0304869692772627,-0.0195200722664595) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.2889648377895355,-0.4275591969490051,-0.7414156794548035,0.2695442438125610) * float(LUMA_texOff(vec2(1,0)));
res += vec4(0.0892018377780914,-0.0229137558490038,0.0244414471089840,-0.1926898956298828) * float(LUMA_texOff(vec2(1,1)));
res += vec4(0.0576358586549759,0.0027846973389387,-0.0036861505359411,-0.0253547113388777) * float(LUMA_texOff(vec2(1,2)));
res += vec4(0.0159624069929123,0.0319602824747562,0.0019470085389912,0.0089780492708087) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.0552792511880398,0.0543054342269897,0.0134062822908163,0.0545728243887424) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(-0.1170092225074768,0.1963327825069427,0.1503890156745911,0.1891828328371048) * float(LUMA_texOff(vec2(2,0)));
res += vec4(-0.0084421783685684,0.1297017931938171,-0.0330600887537003,-0.0942063704133034) * float(LUMA_texOff(vec2(2,1)));
res += vec4(0.0118440408259630,-0.0337875857949257,0.0055063469335437,0.0254479162395000) * float(LUMA_texOff(vec2(2,2)));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+532
View File
@@ -0,0 +1,532 @@
{0x07230203,0x00010000,0x000d000b,0x000003af,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000016e,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000003a,0x00000021,0x00000001,
0x00040047,0x0000003a,0x00000022,0x00000000,
0x00040047,0x0000016e,0x0000000b,0x0000001c,
0x00030047,0x0000018a,0x00000019,0x00040047,
0x0000018a,0x00000021,0x00000000,0x00040047,
0x0000018a,0x00000022,0x00000000,0x00040047,
0x0000018f,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0x3d5dc6e4,0x0004002b,
0x00000006,0x00000031,0x3c10ae89,0x0004002b,
0x00000006,0x00000032,0xbc38239b,0x0004002b,
0x00000006,0x00000033,0xbc517cc5,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x0004002b,0x00000006,
0x00000035,0x3c69bbf2,0x0004002b,0x00000006,
0x00000036,0x3c61fc7c,0x0004002b,0x00000006,
0x00000037,0x3bc8804e,0x0004002b,0x00000006,
0x00000038,0xbc2a9d0f,0x0007002c,0x0000000c,
0x00000039,0x00000035,0x00000036,0x00000037,
0x00000038,0x0004003b,0x00000009,0x0000003a,
0x00000000,0x00040015,0x0000003f,0x00000020,
0x00000000,0x0004002b,0x0000003f,0x00000040,
0x00000000,0x0004002b,0x00000006,0x00000045,
0x3c715315,0x0004002b,0x00000006,0x00000046,
0xbced7f22,0x0004002b,0x00000006,0x00000047,
0x3cda899b,0x0004002b,0x00000006,0x00000048,
0x3dbf4100,0x0007002c,0x0000000c,0x00000049,
0x00000045,0x00000046,0x00000047,0x00000048,
0x0004002b,0x00000006,0x00000052,0xbe3198a3,
0x0004002b,0x00000006,0x00000053,0x3de49f25,
0x0004002b,0x00000006,0x00000054,0xbe4a0d23,
0x0004002b,0x00000006,0x00000055,0xbd6e5401,
0x0007002c,0x0000000c,0x00000056,0x00000052,
0x00000053,0x00000054,0x00000055,0x0004002b,
0x00000006,0x0000005f,0x3d0e56c6,0x0004002b,
0x00000006,0x00000060,0xbd0be7dc,0x0004002b,
0x00000006,0x00000061,0x3bca128d,0x0004002b,
0x00000006,0x00000062,0x3bf69bba,0x0007002c,
0x0000000c,0x00000063,0x0000005f,0x00000060,
0x00000061,0x00000062,0x0004002b,0x00000006,
0x0000006c,0x3be4ff42,0x0004002b,0x00000006,
0x0000006d,0xbc9f2139,0x0004002b,0x00000006,
0x0000006e,0x3c046e9d,0x0004002b,0x00000006,
0x0000006f,0xbb71a876,0x0007002c,0x0000000c,
0x00000070,0x0000006c,0x0000006d,0x0000006e,
0x0000006f,0x0004002b,0x00000006,0x00000079,
0x3cbf7fe8,0x0004002b,0x00000006,0x0000007a,
0x3d0d3522,0x0004002b,0x00000006,0x0000007b,
0x3c84d478,0x0004002b,0x00000006,0x0000007c,
0x3dc89b95,0x0007002c,0x0000000c,0x0000007d,
0x00000079,0x0000007a,0x0000007b,0x0000007c,
0x0004002b,0x00000006,0x00000085,0x3e032753,
0x0004002b,0x00000006,0x00000086,0xbdd08e4d,
0x0004002b,0x00000006,0x00000087,0xbc59deae,
0x0004002b,0x00000006,0x00000088,0xbaff41fd,
0x0007002c,0x0000000c,0x00000089,0x00000085,
0x00000086,0x00000087,0x00000088,0x0004002b,
0x00000006,0x00000091,0x3edb7d07,0x0004002b,
0x00000006,0x00000092,0x3dfa6787,0x0004002b,
0x00000006,0x00000093,0x3f346537,0x0004002b,
0x00000006,0x00000094,0x3dc1a228,0x0007002c,
0x0000000c,0x00000095,0x00000091,0x00000092,
0x00000093,0x00000094,0x0004002b,0x00000006,
0x0000009d,0x3de2cdd8,0x0004002b,0x00000006,
0x0000009e,0xbc5c4151,0x0004002b,0x00000006,
0x0000009f,0xbc8f4761,0x0004002b,0x00000006,
0x000000a0,0xbe2cb128,0x0007002c,0x0000000c,
0x000000a1,0x0000009d,0x0000009e,0x0000009f,
0x000000a0,0x0004002b,0x00000006,0x000000a9,
0x3d03ad7a,0x0004002b,0x00000006,0x000000aa,
0x3bd62a22,0x0004002b,0x00000006,0x000000ab,
0x3cf66b97,0x0004002b,0x00000006,0x000000ac,
0x3d2c1412,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000b5,0xbdfe059f,
0x0004002b,0x00000006,0x000000b6,0x3dc29f43,
0x0004002b,0x00000006,0x000000b7,0xbc546a81,
0x0004002b,0x00000006,0x000000b8,0xbe894fa1,
0x0007002c,0x0000000c,0x000000b9,0x000000b5,
0x000000b6,0x000000b7,0x000000b8,0x0004002b,
0x00000006,0x000000c1,0x3ef82a16,0x0004002b,
0x00000006,0x000000c2,0x3d1025f9,0x0004002b,
0x00000006,0x000000c3,0x3cb6b794,0x0004002b,
0x00000006,0x000000c4,0xbe026b77,0x0007002c,
0x0000000c,0x000000c5,0x000000c1,0x000000c2,
0x000000c3,0x000000c4,0x0004002b,0x00000006,
0x000000cd,0xbff80ec5,0x0004002b,0x00000006,
0x000000ce,0xbe7a4f95,0x0004002b,0x00000006,
0x000000cf,0x3cef2d02,0x0004002b,0x00000006,
0x000000d0,0xbec461b2,0x0007002c,0x0000000c,
0x000000d1,0x000000cd,0x000000ce,0x000000cf,
0x000000d0,0x0004002b,0x00000006,0x000000d9,
0x3f23bea6,0x0004002b,0x00000006,0x000000da,
0xbd9cdd3a,0x0004002b,0x00000006,0x000000db,
0xbd625e95,0x0004002b,0x00000006,0x000000dc,
0x3ee0f316,0x0007002c,0x0000000c,0x000000dd,
0x000000d9,0x000000da,0x000000db,0x000000dc,
0x0004002b,0x00000006,0x000000e5,0xbe49b33d,
0x0004002b,0x00000006,0x000000e6,0xbd78b2bb,
0x0004002b,0x00000006,0x000000e7,0x3c56d102,
0x0004002b,0x00000006,0x000000e8,0x3d5e02b0,
0x0007002c,0x0000000c,0x000000e9,0x000000e5,
0x000000e6,0x000000e7,0x000000e8,0x0004002b,
0x00000006,0x000000f1,0x3c163c18,0x0004002b,
0x00000006,0x000000f2,0xbb4ea852,0x0004002b,
0x00000006,0x000000f3,0xbd170d22,0x0004002b,
0x00000006,0x000000f4,0xbd3c6a51,0x0007002c,
0x0000000c,0x000000f5,0x000000f1,0x000000f2,
0x000000f3,0x000000f4,0x0004002b,0x00000006,
0x000000fd,0x3de0aa00,0x0004002b,0x00000006,
0x000000fe,0x3e85033b,0x0004002b,0x00000006,
0x000000ff,0x3cf9bfcf,0x0004002b,0x00000006,
0x00000100,0xbc9fe88f,0x0007002c,0x0000000c,
0x00000101,0x000000fd,0x000000fe,0x000000ff,
0x00000100,0x0004002b,0x00000006,0x00000109,
0x3e93f333,0x0004002b,0x00000006,0x0000010a,
0xbedae90a,0x0004002b,0x00000006,0x0000010b,
0xbf3dcd6b,0x0004002b,0x00000006,0x0000010c,
0x3e8a01b4,0x0007002c,0x0000000c,0x0000010d,
0x00000109,0x0000010a,0x0000010b,0x0000010c,
0x0004002b,0x00000006,0x00000115,0x3db6af74,
0x0004002b,0x00000006,0x00000116,0xbcbbb5a1,
0x0004002b,0x00000006,0x00000117,0x3cc8396e,
0x0004002b,0x00000006,0x00000118,0xbe455080,
0x0007002c,0x0000000c,0x00000119,0x00000115,
0x00000116,0x00000117,0x00000118,0x0004002b,
0x00000006,0x00000121,0x3d6c1394,0x0004002b,
0x00000006,0x00000122,0x3b367f78,0x0004002b,
0x00000006,0x00000123,0xbb719358,0x0004002b,
0x00000006,0x00000124,0xbccfb4af,0x0007002c,
0x0000000c,0x00000125,0x00000121,0x00000122,
0x00000123,0x00000124,0x0004002b,0x00000006,
0x0000012d,0x3c82c398,0x0004002b,0x00000006,
0x0000012e,0x3d02e8c9,0x0004002b,0x00000006,
0x0000012f,0x3aff32c4,0x0004002b,0x00000006,
0x00000130,0x3c1318ab,0x0007002c,0x0000000c,
0x00000131,0x0000012d,0x0000012e,0x0000012f,
0x00000130,0x0004002b,0x00000006,0x00000139,
0x3d626c7f,0x0004002b,0x00000006,0x0000013a,
0x3d5e6f60,0x0004002b,0x00000006,0x0000013b,
0x3c5ba606,0x0004002b,0x00000006,0x0000013c,
0x3d5f87c1,0x0007002c,0x0000000c,0x0000013d,
0x00000139,0x0000013a,0x0000013b,0x0000013c,
0x0004002b,0x00000006,0x00000145,0xbdefa288,
0x0004002b,0x00000006,0x00000146,0x3e490b76,
0x0004002b,0x00000006,0x00000147,0x3e19ff94,
0x0004002b,0x00000006,0x00000148,0x3e41b925,
0x0007002c,0x0000000c,0x00000149,0x00000145,
0x00000146,0x00000147,0x00000148,0x0004002b,
0x00000006,0x00000151,0xbc0a5110,0x0004002b,
0x00000006,0x00000152,0x3e04d08c,0x0004002b,
0x00000006,0x00000153,0xbd076a04,0x0004002b,
0x00000006,0x00000154,0xbdc0ef45,0x0007002c,
0x0000000c,0x00000155,0x00000151,0x00000152,
0x00000153,0x00000154,0x0004002b,0x00000006,
0x0000015d,0x3c420d82,0x0004002b,0x00000006,
0x0000015e,0xbd0a64da,0x0004002b,0x00000006,
0x0000015f,0x3bb46e96,0x0004002b,0x00000006,
0x00000160,0x3cd07826,0x0007002c,0x0000000c,
0x00000161,0x0000015d,0x0000015e,0x0000015f,
0x00000160,0x00040017,0x0000016c,0x0000003f,
0x00000003,0x00040020,0x0000016d,0x00000001,
0x0000016c,0x0004003b,0x0000016d,0x0000016e,
0x00000001,0x00040017,0x0000016f,0x0000003f,
0x00000002,0x00020014,0x00000173,0x00040020,
0x00000177,0x00000009,0x00000016,0x0004002b,
0x0000003f,0x0000017e,0x00000001,0x00090019,
0x00000188,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000002,0x00000002,
0x00040020,0x00000189,0x00000000,0x00000188,
0x0004003b,0x00000189,0x0000018a,0x00000000,
0x0004002b,0x0000003f,0x0000018e,0x00000010,
0x0006002c,0x0000016c,0x0000018f,0x0000018e,
0x0000018e,0x0000017e,0x0004002b,0x00000016,
0x00000394,0xfffffffe,0x0005002c,0x00000017,
0x00000395,0x00000394,0x00000394,0x0005002c,
0x00000017,0x00000396,0x00000026,0x00000026,
0x0004002b,0x00000016,0x00000397,0xffffffff,
0x0005002c,0x00000017,0x00000398,0x00000394,
0x00000397,0x0005002c,0x00000017,0x00000399,
0x00000394,0x0000001e,0x0005002c,0x00000017,
0x0000039a,0x00000394,0x00000026,0x0004002b,
0x00000016,0x0000039b,0x00000002,0x0005002c,
0x00000017,0x0000039c,0x00000394,0x0000039b,
0x0005002c,0x00000017,0x0000039d,0x00000397,
0x00000394,0x0005002c,0x00000017,0x0000039e,
0x00000397,0x00000397,0x0005002c,0x00000017,
0x0000039f,0x00000397,0x0000001e,0x0005002c,
0x00000017,0x000003a0,0x00000397,0x00000026,
0x0005002c,0x00000017,0x000003a1,0x00000397,
0x0000039b,0x0005002c,0x00000017,0x000003a2,
0x0000001e,0x00000394,0x0005002c,0x00000017,
0x000003a3,0x0000001e,0x00000397,0x0005002c,
0x00000017,0x000003a4,0x0000001e,0x00000026,
0x0005002c,0x00000017,0x000003a5,0x0000001e,
0x0000039b,0x0005002c,0x00000017,0x000003a6,
0x00000026,0x00000394,0x0005002c,0x00000017,
0x000003a7,0x00000026,0x00000397,0x0005002c,
0x00000017,0x000003a8,0x00000026,0x0000001e,
0x0005002c,0x00000017,0x000003a9,0x00000026,
0x0000039b,0x0005002c,0x00000017,0x000003aa,
0x0000039b,0x00000394,0x0005002c,0x00000017,
0x000003ab,0x0000039b,0x00000397,0x0005002c,
0x00000017,0x000003ac,0x0000039b,0x0000001e,
0x0005002c,0x00000017,0x000003ad,0x0000039b,
0x00000026,0x0005002c,0x00000017,0x000003ae,
0x0000039b,0x0000039b,0x00050036,0x00000002,
0x00000004,0x00000000,0x00000003,0x000200f8,
0x00000005,0x000300f7,0x00000192,0x00000000,
0x000300fb,0x00000040,0x00000193,0x000200f8,
0x00000193,0x0004003d,0x0000016c,0x00000170,
0x0000016e,0x0007004f,0x0000016f,0x00000171,
0x00000170,0x00000170,0x00000000,0x00000001,
0x0004007c,0x00000017,0x00000172,0x00000171,
0x00050051,0x00000016,0x00000176,0x00000172,
0x00000000,0x00060041,0x00000177,0x00000178,
0x00000022,0x0000001e,0x00000040,0x0004003d,
0x00000016,0x00000179,0x00000178,0x000500af,
0x00000173,0x0000017a,0x00000176,0x00000179,
0x000400a8,0x00000173,0x0000017b,0x0000017a,
0x000300f7,0x0000017d,0x00000000,0x000400fa,
0x0000017b,0x0000017c,0x0000017d,0x000200f8,
0x0000017c,0x00050051,0x00000016,0x00000180,
0x00000172,0x00000001,0x00060041,0x00000177,
0x00000181,0x00000022,0x0000001e,0x0000017e,
0x0004003d,0x00000016,0x00000182,0x00000181,
0x000500af,0x00000173,0x00000183,0x00000180,
0x00000182,0x000200f9,0x0000017d,0x000200f8,
0x0000017d,0x000700f5,0x00000173,0x00000184,
0x0000017a,0x00000193,0x00000183,0x0000017c,
0x000300f7,0x00000186,0x00000000,0x000400fa,
0x00000184,0x00000185,0x00000186,0x000200f8,
0x00000185,0x000200f9,0x00000192,0x000200f8,
0x00000186,0x0004003d,0x00000188,0x0000018b,
0x0000018a,0x0004003d,0x00000008,0x00000234,
0x0000003a,0x00050080,0x00000017,0x00000238,
0x00000172,0x00000395,0x00050041,0x00000023,
0x00000239,0x00000022,0x0000001e,0x0004003d,
0x00000017,0x0000023a,0x00000239,0x00050082,
0x00000017,0x0000023c,0x0000023a,0x00000396,
0x0008000c,0x00000017,0x0000023d,0x00000001,
0x0000002d,0x00000238,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x0000023e,0x00000234,
0x0007005f,0x0000000c,0x0000023f,0x0000023e,
0x0000023d,0x00000002,0x0000001e,0x00050051,
0x00000006,0x000001b5,0x0000023f,0x00000000,
0x0005008e,0x0000000c,0x000001b6,0x00000039,
0x000001b5,0x00050081,0x0000000c,0x000001b8,
0x00000034,0x000001b6,0x0004003d,0x00000008,
0x00000242,0x0000003a,0x00050080,0x00000017,
0x00000246,0x00000172,0x00000398,0x0008000c,
0x00000017,0x0000024b,0x00000001,0x0000002d,
0x00000246,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x0000024c,0x00000242,0x0007005f,
0x0000000c,0x0000024d,0x0000024c,0x0000024b,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x000001ba,0x0000024d,0x00000000,0x0005008e,
0x0000000c,0x000001bb,0x00000049,0x000001ba,
0x00050081,0x0000000c,0x000001bd,0x000001b8,
0x000001bb,0x0004003d,0x00000008,0x00000250,
0x0000003a,0x00050080,0x00000017,0x00000254,
0x00000172,0x00000399,0x0008000c,0x00000017,
0x00000259,0x00000001,0x0000002d,0x00000254,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x0000025a,0x00000250,0x0007005f,0x0000000c,
0x0000025b,0x0000025a,0x00000259,0x00000002,
0x0000001e,0x00050051,0x00000006,0x000001bf,
0x0000025b,0x00000000,0x0005008e,0x0000000c,
0x000001c0,0x00000056,0x000001bf,0x00050081,
0x0000000c,0x000001c2,0x000001bd,0x000001c0,
0x0004003d,0x00000008,0x0000025e,0x0000003a,
0x00050080,0x00000017,0x00000262,0x00000172,
0x0000039a,0x0008000c,0x00000017,0x00000267,
0x00000001,0x0000002d,0x00000262,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x00000268,
0x0000025e,0x0007005f,0x0000000c,0x00000269,
0x00000268,0x00000267,0x00000002,0x0000001e,
0x00050051,0x00000006,0x000001c4,0x00000269,
0x00000000,0x0005008e,0x0000000c,0x000001c5,
0x00000063,0x000001c4,0x00050081,0x0000000c,
0x000001c7,0x000001c2,0x000001c5,0x0004003d,
0x00000008,0x0000026c,0x0000003a,0x00050080,
0x00000017,0x00000270,0x00000172,0x0000039c,
0x0008000c,0x00000017,0x00000275,0x00000001,
0x0000002d,0x00000270,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x00000276,0x0000026c,
0x0007005f,0x0000000c,0x00000277,0x00000276,
0x00000275,0x00000002,0x0000001e,0x00050051,
0x00000006,0x000001c9,0x00000277,0x00000000,
0x0005008e,0x0000000c,0x000001ca,0x00000070,
0x000001c9,0x00050081,0x0000000c,0x000001cc,
0x000001c7,0x000001ca,0x0004003d,0x00000008,
0x0000027a,0x0000003a,0x00050080,0x00000017,
0x0000027e,0x00000172,0x0000039d,0x0008000c,
0x00000017,0x00000283,0x00000001,0x0000002d,
0x0000027e,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x00000284,0x0000027a,0x0007005f,
0x0000000c,0x00000285,0x00000284,0x00000283,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x000001ce,0x00000285,0x00000000,0x0005008e,
0x0000000c,0x000001cf,0x0000007d,0x000001ce,
0x00050081,0x0000000c,0x000001d1,0x000001cc,
0x000001cf,0x0004003d,0x00000008,0x00000288,
0x0000003a,0x00050080,0x00000017,0x0000028c,
0x00000172,0x0000039e,0x0008000c,0x00000017,
0x00000291,0x00000001,0x0000002d,0x0000028c,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x00000292,0x00000288,0x0007005f,0x0000000c,
0x00000293,0x00000292,0x00000291,0x00000002,
0x0000001e,0x00050051,0x00000006,0x000001d3,
0x00000293,0x00000000,0x0005008e,0x0000000c,
0x000001d4,0x00000089,0x000001d3,0x00050081,
0x0000000c,0x000001d6,0x000001d1,0x000001d4,
0x0004003d,0x00000008,0x00000296,0x0000003a,
0x00050080,0x00000017,0x0000029a,0x00000172,
0x0000039f,0x0008000c,0x00000017,0x0000029f,
0x00000001,0x0000002d,0x0000029a,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x000002a0,
0x00000296,0x0007005f,0x0000000c,0x000002a1,
0x000002a0,0x0000029f,0x00000002,0x0000001e,
0x00050051,0x00000006,0x000001d8,0x000002a1,
0x00000000,0x0005008e,0x0000000c,0x000001d9,
0x00000095,0x000001d8,0x00050081,0x0000000c,
0x000001db,0x000001d6,0x000001d9,0x0004003d,
0x00000008,0x000002a4,0x0000003a,0x00050080,
0x00000017,0x000002a8,0x00000172,0x000003a0,
0x0008000c,0x00000017,0x000002ad,0x00000001,
0x0000002d,0x000002a8,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x000002ae,0x000002a4,
0x0007005f,0x0000000c,0x000002af,0x000002ae,
0x000002ad,0x00000002,0x0000001e,0x00050051,
0x00000006,0x000001dd,0x000002af,0x00000000,
0x0005008e,0x0000000c,0x000001de,0x000000a1,
0x000001dd,0x00050081,0x0000000c,0x000001e0,
0x000001db,0x000001de,0x0004003d,0x00000008,
0x000002b2,0x0000003a,0x00050080,0x00000017,
0x000002b6,0x00000172,0x000003a1,0x0008000c,
0x00000017,0x000002bb,0x00000001,0x0000002d,
0x000002b6,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x000002bc,0x000002b2,0x0007005f,
0x0000000c,0x000002bd,0x000002bc,0x000002bb,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x000001e2,0x000002bd,0x00000000,0x0005008e,
0x0000000c,0x000001e3,0x000000ad,0x000001e2,
0x00050081,0x0000000c,0x000001e5,0x000001e0,
0x000001e3,0x0004003d,0x00000008,0x000002c0,
0x0000003a,0x00050080,0x00000017,0x000002c4,
0x00000172,0x000003a2,0x0008000c,0x00000017,
0x000002c9,0x00000001,0x0000002d,0x000002c4,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x000002ca,0x000002c0,0x0007005f,0x0000000c,
0x000002cb,0x000002ca,0x000002c9,0x00000002,
0x0000001e,0x00050051,0x00000006,0x000001e7,
0x000002cb,0x00000000,0x0005008e,0x0000000c,
0x000001e8,0x000000b9,0x000001e7,0x00050081,
0x0000000c,0x000001ea,0x000001e5,0x000001e8,
0x0004003d,0x00000008,0x000002ce,0x0000003a,
0x00050080,0x00000017,0x000002d2,0x00000172,
0x000003a3,0x0008000c,0x00000017,0x000002d7,
0x00000001,0x0000002d,0x000002d2,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x000002d8,
0x000002ce,0x0007005f,0x0000000c,0x000002d9,
0x000002d8,0x000002d7,0x00000002,0x0000001e,
0x00050051,0x00000006,0x000001ec,0x000002d9,
0x00000000,0x0005008e,0x0000000c,0x000001ed,
0x000000c5,0x000001ec,0x00050081,0x0000000c,
0x000001ef,0x000001ea,0x000001ed,0x0004003d,
0x00000008,0x000002dc,0x0000003a,0x0008000c,
0x00000017,0x000002e5,0x00000001,0x0000002d,
0x00000172,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x000002e6,0x000002dc,0x0007005f,
0x0000000c,0x000002e7,0x000002e6,0x000002e5,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x000001f1,0x000002e7,0x00000000,0x0005008e,
0x0000000c,0x000001f2,0x000000d1,0x000001f1,
0x00050081,0x0000000c,0x000001f4,0x000001ef,
0x000001f2,0x0004003d,0x00000008,0x000002ea,
0x0000003a,0x00050080,0x00000017,0x000002ee,
0x00000172,0x000003a4,0x0008000c,0x00000017,
0x000002f3,0x00000001,0x0000002d,0x000002ee,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x000002f4,0x000002ea,0x0007005f,0x0000000c,
0x000002f5,0x000002f4,0x000002f3,0x00000002,
0x0000001e,0x00050051,0x00000006,0x000001f6,
0x000002f5,0x00000000,0x0005008e,0x0000000c,
0x000001f7,0x000000dd,0x000001f6,0x00050081,
0x0000000c,0x000001f9,0x000001f4,0x000001f7,
0x0004003d,0x00000008,0x000002f8,0x0000003a,
0x00050080,0x00000017,0x000002fc,0x00000172,
0x000003a5,0x0008000c,0x00000017,0x00000301,
0x00000001,0x0000002d,0x000002fc,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x00000302,
0x000002f8,0x0007005f,0x0000000c,0x00000303,
0x00000302,0x00000301,0x00000002,0x0000001e,
0x00050051,0x00000006,0x000001fb,0x00000303,
0x00000000,0x0005008e,0x0000000c,0x000001fc,
0x000000e9,0x000001fb,0x00050081,0x0000000c,
0x000001fe,0x000001f9,0x000001fc,0x0004003d,
0x00000008,0x00000306,0x0000003a,0x00050080,
0x00000017,0x0000030a,0x00000172,0x000003a6,
0x0008000c,0x00000017,0x0000030f,0x00000001,
0x0000002d,0x0000030a,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x00000310,0x00000306,
0x0007005f,0x0000000c,0x00000311,0x00000310,
0x0000030f,0x00000002,0x0000001e,0x00050051,
0x00000006,0x00000200,0x00000311,0x00000000,
0x0005008e,0x0000000c,0x00000201,0x000000f5,
0x00000200,0x00050081,0x0000000c,0x00000203,
0x000001fe,0x00000201,0x0004003d,0x00000008,
0x00000314,0x0000003a,0x00050080,0x00000017,
0x00000318,0x00000172,0x000003a7,0x0008000c,
0x00000017,0x0000031d,0x00000001,0x0000002d,
0x00000318,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x0000031e,0x00000314,0x0007005f,
0x0000000c,0x0000031f,0x0000031e,0x0000031d,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x00000205,0x0000031f,0x00000000,0x0005008e,
0x0000000c,0x00000206,0x00000101,0x00000205,
0x00050081,0x0000000c,0x00000208,0x00000203,
0x00000206,0x0004003d,0x00000008,0x00000322,
0x0000003a,0x00050080,0x00000017,0x00000326,
0x00000172,0x000003a8,0x0008000c,0x00000017,
0x0000032b,0x00000001,0x0000002d,0x00000326,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x0000032c,0x00000322,0x0007005f,0x0000000c,
0x0000032d,0x0000032c,0x0000032b,0x00000002,
0x0000001e,0x00050051,0x00000006,0x0000020a,
0x0000032d,0x00000000,0x0005008e,0x0000000c,
0x0000020b,0x0000010d,0x0000020a,0x00050081,
0x0000000c,0x0000020d,0x00000208,0x0000020b,
0x0004003d,0x00000008,0x00000330,0x0000003a,
0x00050080,0x00000017,0x00000334,0x00000172,
0x00000396,0x0008000c,0x00000017,0x00000339,
0x00000001,0x0000002d,0x00000334,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x0000033a,
0x00000330,0x0007005f,0x0000000c,0x0000033b,
0x0000033a,0x00000339,0x00000002,0x0000001e,
0x00050051,0x00000006,0x0000020f,0x0000033b,
0x00000000,0x0005008e,0x0000000c,0x00000210,
0x00000119,0x0000020f,0x00050081,0x0000000c,
0x00000212,0x0000020d,0x00000210,0x0004003d,
0x00000008,0x0000033e,0x0000003a,0x00050080,
0x00000017,0x00000342,0x00000172,0x000003a9,
0x0008000c,0x00000017,0x00000347,0x00000001,
0x0000002d,0x00000342,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x00000348,0x0000033e,
0x0007005f,0x0000000c,0x00000349,0x00000348,
0x00000347,0x00000002,0x0000001e,0x00050051,
0x00000006,0x00000214,0x00000349,0x00000000,
0x0005008e,0x0000000c,0x00000215,0x00000125,
0x00000214,0x00050081,0x0000000c,0x00000217,
0x00000212,0x00000215,0x0004003d,0x00000008,
0x0000034c,0x0000003a,0x00050080,0x00000017,
0x00000350,0x00000172,0x000003aa,0x0008000c,
0x00000017,0x00000355,0x00000001,0x0000002d,
0x00000350,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x00000356,0x0000034c,0x0007005f,
0x0000000c,0x00000357,0x00000356,0x00000355,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x00000219,0x00000357,0x00000000,0x0005008e,
0x0000000c,0x0000021a,0x00000131,0x00000219,
0x00050081,0x0000000c,0x0000021c,0x00000217,
0x0000021a,0x0004003d,0x00000008,0x0000035a,
0x0000003a,0x00050080,0x00000017,0x0000035e,
0x00000172,0x000003ab,0x0008000c,0x00000017,
0x00000363,0x00000001,0x0000002d,0x0000035e,
0x0000001f,0x0000023c,0x00040064,0x00000007,
0x00000364,0x0000035a,0x0007005f,0x0000000c,
0x00000365,0x00000364,0x00000363,0x00000002,
0x0000001e,0x00050051,0x00000006,0x0000021e,
0x00000365,0x00000000,0x0005008e,0x0000000c,
0x0000021f,0x0000013d,0x0000021e,0x00050081,
0x0000000c,0x00000221,0x0000021c,0x0000021f,
0x0004003d,0x00000008,0x00000368,0x0000003a,
0x00050080,0x00000017,0x0000036c,0x00000172,
0x000003ac,0x0008000c,0x00000017,0x00000371,
0x00000001,0x0000002d,0x0000036c,0x0000001f,
0x0000023c,0x00040064,0x00000007,0x00000372,
0x00000368,0x0007005f,0x0000000c,0x00000373,
0x00000372,0x00000371,0x00000002,0x0000001e,
0x00050051,0x00000006,0x00000223,0x00000373,
0x00000000,0x0005008e,0x0000000c,0x00000224,
0x00000149,0x00000223,0x00050081,0x0000000c,
0x00000226,0x00000221,0x00000224,0x0004003d,
0x00000008,0x00000376,0x0000003a,0x00050080,
0x00000017,0x0000037a,0x00000172,0x000003ad,
0x0008000c,0x00000017,0x0000037f,0x00000001,
0x0000002d,0x0000037a,0x0000001f,0x0000023c,
0x00040064,0x00000007,0x00000380,0x00000376,
0x0007005f,0x0000000c,0x00000381,0x00000380,
0x0000037f,0x00000002,0x0000001e,0x00050051,
0x00000006,0x00000228,0x00000381,0x00000000,
0x0005008e,0x0000000c,0x00000229,0x00000155,
0x00000228,0x00050081,0x0000000c,0x0000022b,
0x00000226,0x00000229,0x0004003d,0x00000008,
0x00000384,0x0000003a,0x00050080,0x00000017,
0x00000388,0x00000172,0x000003ae,0x0008000c,
0x00000017,0x0000038d,0x00000001,0x0000002d,
0x00000388,0x0000001f,0x0000023c,0x00040064,
0x00000007,0x0000038e,0x00000384,0x0007005f,
0x0000000c,0x0000038f,0x0000038e,0x0000038d,
0x00000002,0x0000001e,0x00050051,0x00000006,
0x0000022d,0x0000038f,0x00000000,0x0005008e,
0x0000000c,0x0000022e,0x00000161,0x0000022d,
0x00050081,0x0000000c,0x00000230,0x0000022b,
0x0000022e,0x00040063,0x0000018b,0x00000172,
0x00000230,0x000200f9,0x00000192,0x000200f8,
0x00000192,0x000100fd,0x00010038}
+46
View File
@@ -0,0 +1,46 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: mapping 1_1. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define FEATURE1_texOff(o) fetch_(in0, vec2(o))
#define FEATURE2_texOff(o) fetch_(in1, vec2(o))
vec4 hook()
{
vec4 res = vec4(-0.0445119962096214,-0.7632357478141785,0.0156328510493040,-0.2424548566341400);
res += mat4(0.1279004216194153,-0.0275541823357344,0.2275633513927460,0.2241709381341934,0.0197204202413559,-0.0456816256046295,-0.1296672523021698,0.0564568229019642,-0.0241488646715879,-0.0237508192658424,-0.1899632662534714,0.4177669584751129,-0.1814560592174530,-0.0526473335921764,0.1154382973909378,-0.0715614855289459) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.0660311505198479,0.0416736751794815,0.3146112561225891,0.1472041457891464,-0.3456672728061676,-0.0055983816273510,0.0022350433282554,0.0819796621799469,0.0057485047727823,0.1532524228096008,0.0204557459801435,-0.2500547170639038,-0.0524359568953514,-0.1911625266075134,-0.1078366711735725,-0.1296254843473434) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(0.0904538556933403,-0.0150672039017081,0.3322310745716095,0.0638923197984695,0.5975797176361084,-0.2452044337987900,-0.4947478473186493,-0.0783191770315170,0.5771877169609070,-0.0870653912425041,-0.8966570496559143,-0.2140965163707733,-0.0493861362338066,-0.0380848757922649,-0.1345319598913193,-0.0186063013970852) * FEATURE1_texOff(vec2(-1,0));
res += mat4(-0.2523841261863708,0.1387074738740921,0.7878478765487671,-0.2251627445220947,0.2277439534664154,0.5417668819427490,0.0866540968418121,-0.1707777529954910,-0.0598246827721596,-0.4717158675193787,-1.2242834568023682,0.0454643070697784,-0.3503442704677582,0.0573085807263851,0.2530198395252228,-0.0207283068448305) * FEATURE2_texOff(vec2(-1,0));
res += mat4(0.0168380383402109,-0.2142438590526581,-0.0207892972975969,0.3628533780574799,0.2431225180625916,0.3098322153091431,0.4073205888271332,-0.2762102782726288,-0.0197229012846947,0.1305596232414246,-0.5697882771492004,-0.2976251542568207,-0.0551432967185974,0.2614036500453949,-0.1410341411828995,-0.2906406223773956) * FEATURE1_texOff(vec2(-1,1));
res += mat4(-0.0498303361237049,0.0224859956651926,0.1952174901962280,-0.0311204437166452,0.2501715123653412,-0.5893352627754211,-1.0793941020965576,0.0160885509103537,0.5081620812416077,0.0482814386487007,0.0546359121799469,-0.0501569248735905,0.1400523334741592,-0.0106841633096337,-0.0940591320395470,-0.1791856139898300) * FEATURE2_texOff(vec2(-1,1));
res += mat4(0.0393299944698811,0.2232691347599030,-0.1055066883563995,-0.1607919186353683,-0.1567825973033905,-0.0042221010662615,-0.0548228211700916,0.2352052628993988,0.1483389288187027,0.7503526806831360,0.0797731876373291,-0.0049001369625330,-0.0242983382195234,-0.0308702979236841,0.0828925222158432,0.0561857633292675) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.0926392748951912,-0.0418718457221985,-0.3060409128665924,-0.1883587390184402,0.0284292586147785,-0.3584854304790497,-0.7909982800483704,-0.0187337957322598,-0.2496993243694305,-0.7520986795425415,0.3771523833274841,-0.0259053874760866,0.0337998159229755,0.2209153026342392,0.0708771497011185,-0.2814430892467499) * FEATURE2_texOff(vec2(0,-1));
res += mat4(-0.5287809371948242,0.5777525901794434,0.0880500450730324,-0.8452472090721130,-0.3393408954143524,-0.2273543328046799,-0.1298527419567108,0.4990308582782745,1.2613251209259033,-0.7636719942092896,1.5694186687469482,-0.4087363779544830,0.0874531939625740,0.7067158818244934,-0.3419588804244995,-0.3265531957149506) * FEATURE1_texOff(vec2(0,0));
res += mat4(0.8229957222938538,-0.1236215904355049,-0.1859253048896790,1.6684840917587280,0.2000777721405029,-0.1239093989133835,1.5623438358306885,0.1779983490705490,0.1017884835600853,-0.3707404434680939,1.0626678466796875,-0.3124029338359833,0.0659058541059494,-0.3585464656352997,-0.1866402775049210,0.6733445525169373) * FEATURE2_texOff(vec2(0,0));
res += mat4(-0.5544115900993347,-0.1892931908369064,0.2460739761590958,-0.1056193932890892,-0.4318082630634308,0.1257930994033813,-0.2672747671604156,-0.1690235435962677,0.0018221997888759,-0.4397548139095306,-0.3007801771163940,0.1068472340703011,0.3506655991077423,0.1143834441900253,0.1363849341869354,-0.1417382210493088) * FEATURE1_texOff(vec2(0,1));
res += mat4(-0.0505668744444847,0.1831464916467667,0.3957343697547913,-0.2295413911342621,-0.3892803490161896,0.5436951518058777,0.1217770799994469,0.0223295800387859,-0.4462866187095642,-0.4055982232093811,-0.3771279454231262,0.0807068347930908,0.2116729617118835,0.0281026475131512,-0.0229265503585339,0.2868605256080627) * FEATURE2_texOff(vec2(0,1));
res += mat4(0.1962712109088898,-0.2373334914445877,-2.5208437442779541,-0.1988540291786194,0.2224564403295517,-0.1783192902803421,-0.3962321281433105,-0.1685980409383774,0.1910390257835388,0.2554391324520111,0.4586416482925415,0.2779130041599274,-0.2002453953027725,-0.0061091855168343,1.3808131217956543,0.0434907525777817) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.0307611189782619,-0.0524470545351505,-0.5897512435913086,-0.0816674903035164,0.4052906930446625,0.2542210817337036,-1.9041002988815308,0.0835462361574173,-0.2484460622072220,-0.0184739269316196,0.4510098397731781,0.2587619423866272,0.1537084281444550,0.1503131389617920,-0.0742949545383453,0.0613216012716293) * FEATURE2_texOff(vec2(1,-1));
res += mat4(0.1772638261318207,0.0948876664042473,0.0083848545327783,-0.2919732332229614,0.2566950321197510,0.0288751143962145,-0.4624863862991333,-0.0608786940574646,0.3310996592044830,-0.0104284398257732,0.6334818005561829,-0.0027201652992517,-0.0342350602149963,0.1938806027173996,-0.2464301586151123,0.0125883584842086) * FEATURE1_texOff(vec2(1,0));
res += mat4(0.4839433431625366,-0.0502159744501114,-1.1114163398742676,-0.3965759575366974,0.2117286175489426,0.0414481423795223,-0.1332397013902664,-0.0549883767962456,-0.1275007277727127,0.7844302654266357,-0.0095163453370333,0.0961041301488876,-0.4759134948253632,-0.4284025132656097,-0.2072399407625198,-0.3953579664230347) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.1605869531631470,-0.1715892106294632,0.0865620598196983,-0.0464400537312031,-0.2688548862934113,0.1722514480352402,0.0167612321674824,-0.0032994034700096,-0.3451044559478760,-0.2280300110578537,-0.0029796555172652,-0.1597652435302734,0.0500137843191624,0.1023071259260178,-0.0407028235495090,0.2228624969720840) * FEATURE1_texOff(vec2(1,1));
res += mat4(0.6999920010566711,0.0839441940188408,0.0815469548106194,-0.1509176045656204,-0.0690853074193001,-0.3200871348381042,0.0780162736773491,-0.1449639797210693,0.2868815064430237,0.3962450027465820,-0.3439113497734070,0.2657423913478851,0.0988137871026993,0.3471299111843109,-0.2186402678489685,-0.0648017078638077) * FEATURE2_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(1.0311057567596436,0.1051208898425102,0.1158760935068130,0.0466635078191757) * min(res, vec4(0.0));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+703
View File
@@ -0,0 +1,703 @@
{0x07230203,0x00010000,0x000d000b,0x000003c1,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000022a,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000022a,0x0000000b,0x0000001c,
0x00030047,0x00000247,0x00000019,0x00040047,
0x00000247,0x00000021,0x00000000,0x00040047,
0x00000247,0x00000022,0x00000000,0x00040047,
0x0000024c,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0xbd365236,0x0004002b,
0x00000006,0x00000031,0xbf43636b,0x0004002b,
0x00000006,0x00000032,0x3c801077,0x0004002b,
0x00000006,0x00000033,0xbe784616,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0x3e02f854,0x0004002b,0x00000006,
0x00000037,0xbce1b94f,0x0004002b,0x00000006,
0x00000038,0x3e69065e,0x0004002b,0x00000006,
0x00000039,0x3e658d11,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0x3ca18cb8,0x0004002b,0x00000006,0x0000003c,
0xbd3b1ca8,0x0004002b,0x00000006,0x0000003d,
0xbe04c77e,0x0004002b,0x00000006,0x0000003e,
0x3d673f45,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0xbcc5d3d7,
0x0004002b,0x00000006,0x00000041,0xbcc29114,
0x0004002b,0x00000006,0x00000042,0xbe4285bb,
0x0004002b,0x00000006,0x00000043,0x3ed5e58d,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0xbe39cf9e,0x0004002b,
0x00000006,0x00000046,0xbd57a4bb,0x0004002b,
0x00000006,0x00000047,0x3dec6aea,0x0004002b,
0x00000006,0x00000048,0xbd928ed4,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x00000053,
0xbd873b57,0x0004002b,0x00000006,0x00000054,
0x3d2ab204,0x0004002b,0x00000006,0x00000055,
0x3ea114ba,0x0004002b,0x00000006,0x00000056,
0x3e16bcaf,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0xbeb0fb4d,
0x0004002b,0x00000006,0x00000059,0xbbb772a1,
0x0004002b,0x00000006,0x0000005a,0x3b1279ce,
0x0004002b,0x00000006,0x0000005b,0x3da7e4f4,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0x3bbc5df4,0x0004002b,
0x00000006,0x0000005e,0x3e1cee34,0x0004002b,
0x00000006,0x0000005f,0x3ca792cf,0x0004002b,
0x00000006,0x00000060,0xbe80072c,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0xbd56c716,0x0004002b,0x00000006,
0x00000063,0xbe43c01c,0x0004002b,0x00000006,
0x00000064,0xbddcd979,0x0004002b,0x00000006,
0x00000065,0xbe04bc8b,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004002b,0x00000006,0x0000006e,0x3db93fdf,
0x0004002b,0x00000006,0x0000006f,0xbc76dc6f,
0x0004002b,0x00000006,0x00000070,0x3eaa1a31,
0x0004002b,0x00000006,0x00000071,0x3d82d9fa,
0x0007002c,0x0000000c,0x00000072,0x0000006e,
0x0000006f,0x00000070,0x00000071,0x0004002b,
0x00000006,0x00000073,0x3f18fafc,0x0004002b,
0x00000006,0x00000074,0xbe7b16df,0x0004002b,
0x00000006,0x00000075,0xbefd4f97,0x0004002b,
0x00000006,0x00000076,0xbda065ce,0x0007002c,
0x0000000c,0x00000077,0x00000073,0x00000074,
0x00000075,0x00000076,0x0004002b,0x00000006,
0x00000078,0x3f13c293,0x0004002b,0x00000006,
0x00000079,0xbdb24f57,0x0004002b,0x00000006,
0x0000007a,0xbf658b51,0x0004002b,0x00000006,
0x0000007b,0xbe5b3c1e,0x0007002c,0x0000000c,
0x0000007c,0x00000078,0x00000079,0x0000007a,
0x0000007b,0x0004002b,0x00000006,0x0000007d,
0xbd4a491e,0x0004002b,0x00000006,0x0000007e,
0xbd1bfee3,0x0004002b,0x00000006,0x0000007f,
0xbe09c2bf,0x0004002b,0x00000006,0x00000080,
0xbc986c3e,0x0007002c,0x0000000c,0x00000081,
0x0000007d,0x0000007e,0x0000007f,0x00000080,
0x0007002c,0x00000035,0x00000082,0x00000072,
0x00000077,0x0000007c,0x00000081,0x0004002b,
0x00000006,0x00000083,0x00000000,0x0004002b,
0x00000006,0x0000008a,0xbe81387e,0x0004002b,
0x00000006,0x0000008b,0x3e0e0955,0x0004002b,
0x00000006,0x0000008c,0x3f49b066,0x0004002b,
0x00000006,0x0000008d,0xbe669110,0x0007002c,
0x0000000c,0x0000008e,0x0000008a,0x0000008b,
0x0000008c,0x0000008d,0x0004002b,0x00000006,
0x0000008f,0x3e6935b6,0x0004002b,0x00000006,
0x00000090,0x3f0ab13c,0x0004002b,0x00000006,
0x00000091,0x3db177b4,0x0004002b,0x00000006,
0x00000092,0xbe2ee05d,0x0007002c,0x0000000c,
0x00000093,0x0000008f,0x00000090,0x00000091,
0x00000092,0x0004002b,0x00000006,0x00000094,
0xbd750aba,0x0004002b,0x00000006,0x00000095,
0xbef184be,0x0004002b,0x00000006,0x00000096,
0xbf9cb552,0x0004002b,0x00000006,0x00000097,
0x3d3a38c8,0x0007002c,0x0000000c,0x00000098,
0x00000094,0x00000095,0x00000096,0x00000097,
0x0004002b,0x00000006,0x00000099,0xbeb36053,
0x0004002b,0x00000006,0x0000009a,0x3d6abc67,
0x0004002b,0x00000006,0x0000009b,0x3e818bd1,
0x0004002b,0x00000006,0x0000009c,0xbca9ce69,
0x0007002c,0x0000000c,0x0000009d,0x00000099,
0x0000009a,0x0000009b,0x0000009c,0x0007002c,
0x00000035,0x0000009e,0x0000008e,0x00000093,
0x00000098,0x0000009d,0x0004002b,0x00000006,
0x000000a4,0x3c89efed,0x0004002b,0x00000006,
0x000000a5,0xbe5b62be,0x0004002b,0x00000006,
0x000000a6,0xbcaa4e51,0x0004002b,0x00000006,
0x000000a7,0x3eb9c7eb,0x0007002c,0x0000000c,
0x000000a8,0x000000a4,0x000000a5,0x000000a6,
0x000000a7,0x0004002b,0x00000006,0x000000a9,
0x3e78f51c,0x0004002b,0x00000006,0x000000aa,
0x3e9ea254,0x0004002b,0x00000006,0x000000ab,
0x3ed08c53,0x0004002b,0x00000006,0x000000ac,
0xbe8d6b6f,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000ae,0xbca191ec,
0x0004002b,0x00000006,0x000000af,0x3e05b16c,
0x0004002b,0x00000006,0x000000b0,0xbf11dda5,
0x0004002b,0x00000006,0x000000b1,0xbe986253,
0x0007002c,0x0000000c,0x000000b2,0x000000ae,
0x000000af,0x000000b0,0x000000b1,0x0004002b,
0x00000006,0x000000b3,0xbd61ddf0,0x0004002b,
0x00000006,0x000000b4,0x3e85d6b3,0x0004002b,
0x00000006,0x000000b5,0xbe106b41,0x0004002b,
0x00000006,0x000000b6,0xbe94ced9,0x0007002c,
0x0000000c,0x000000b7,0x000000b3,0x000000b4,
0x000000b5,0x000000b6,0x0007002c,0x00000035,
0x000000b8,0x000000a8,0x000000ad,0x000000b2,
0x000000b7,0x0004002b,0x00000006,0x000000c0,
0xbd4c1ae5,0x0004002b,0x00000006,0x000000c1,
0x3cb8348d,0x0004002b,0x00000006,0x000000c2,
0x3e47e718,0x0004002b,0x00000006,0x000000c3,
0xbcfef04d,0x0007002c,0x0000000c,0x000000c4,
0x000000c0,0x000000c1,0x000000c2,0x000000c3,
0x0004002b,0x00000006,0x000000c5,0x3e80167b,
0x0004002b,0x00000006,0x000000c6,0xbf16dead,
0x0004002b,0x00000006,0x000000c7,0xbf8a2996,
0x0004002b,0x00000006,0x000000c8,0x3c83cc23,
0x0007002c,0x0000000c,0x000000c9,0x000000c5,
0x000000c6,0x000000c7,0x000000c8,0x0004002b,
0x00000006,0x000000ca,0x3f0216e9,0x0004002b,
0x00000006,0x000000cb,0x3d45c2c2,0x0004002b,
0x00000006,0x000000cc,0x3d5fc9e8,0x0004002b,
0x00000006,0x000000cd,0xbd4d7159,0x0007002c,
0x0000000c,0x000000ce,0x000000ca,0x000000cb,
0x000000cc,0x000000cd,0x0004002b,0x00000006,
0x000000cf,0x3e0f69e1,0x0004002b,0x00000006,
0x000000d0,0xbc2f0ca1,0x0004002b,0x00000006,
0x000000d1,0xbdc0a213,0x0004002b,0x00000006,
0x000000d2,0xbe377c6f,0x0007002c,0x0000000c,
0x000000d3,0x000000cf,0x000000d0,0x000000d1,
0x000000d2,0x0007002c,0x00000035,0x000000d4,
0x000000c4,0x000000c9,0x000000ce,0x000000d3,
0x0004002b,0x00000006,0x000000da,0x3d21187d,
0x0004002b,0x00000006,0x000000db,0x3e64a0aa,
0x0004002b,0x00000006,0x000000dc,0xbdd813e4,
0x0004002b,0x00000006,0x000000dd,0xbe24a6a3,
0x0007002c,0x0000000c,0x000000de,0x000000da,
0x000000db,0x000000dc,0x000000dd,0x0004002b,
0x00000006,0x000000df,0xbe208b9e,0x0004002b,
0x00000006,0x000000e0,0xbb8a598d,0x0004002b,
0x00000006,0x000000e1,0xbd608de5,0x0004002b,
0x00000006,0x000000e2,0x3e70d9a6,0x0007002c,
0x0000000c,0x000000e3,0x000000df,0x000000e0,
0x000000e1,0x000000e2,0x0004002b,0x00000006,
0x000000e4,0x3e17e629,0x0004002b,0x00000006,
0x000000e5,0x3f40171d,0x0004002b,0x00000006,
0x000000e6,0x3da36020,0x0004002b,0x00000006,
0x000000e7,0xbba09154,0x0007002c,0x0000000c,
0x000000e8,0x000000e4,0x000000e5,0x000000e6,
0x000000e7,0x0004002b,0x00000006,0x000000e9,
0xbcc70d4f,0x0004002b,0x00000006,0x000000ea,
0xbcfce3b5,0x0004002b,0x00000006,0x000000eb,
0x3da9c38e,0x0004002b,0x00000006,0x000000ec,
0x3d66230b,0x0007002c,0x0000000c,0x000000ed,
0x000000e9,0x000000ea,0x000000eb,0x000000ec,
0x0007002c,0x00000035,0x000000ee,0x000000de,
0x000000e3,0x000000e8,0x000000ed,0x0004002b,
0x00000006,0x000000f5,0x3dbdb9a9,0x0004002b,
0x00000006,0x000000f6,0xbd2b81d0,0x0004002b,
0x00000006,0x000000f7,0xbe9cb165,0x0004002b,
0x00000006,0x000000f8,0xbe40e11d,0x0007002c,
0x0000000c,0x000000f9,0x000000f5,0x000000f6,
0x000000f7,0x000000f8,0x0004002b,0x00000006,
0x000000fa,0x3ce8e47a,0x0004002b,0x00000006,
0x000000fb,0xbeb78b67,0x0004002b,0x00000006,
0x000000fc,0xbf4a7edd,0x0004002b,0x00000006,
0x000000fd,0xbc99779e,0x0007002c,0x0000000c,
0x000000fe,0x000000fa,0x000000fb,0x000000fc,
0x000000fd,0x0004002b,0x00000006,0x000000ff,
0xbe7fb12e,0x0004002b,0x00000006,0x00000100,
0xbf40898a,0x0004002b,0x00000006,0x00000101,
0x3ec11a1e,0x0004002b,0x00000006,0x00000102,
0xbcd43789,0x0007002c,0x0000000c,0x00000103,
0x000000ff,0x00000100,0x00000101,0x00000102,
0x0004002b,0x00000006,0x00000104,0x3d0a71ad,
0x0004002b,0x00000006,0x00000105,0x3e62379f,
0x0004002b,0x00000006,0x00000106,0x3d91280a,
0x0004002b,0x00000006,0x00000107,0xbe90194f,
0x0007002c,0x0000000c,0x00000108,0x00000104,
0x00000105,0x00000106,0x00000107,0x0007002c,
0x00000035,0x00000109,0x000000f9,0x000000fe,
0x00000103,0x00000108,0x0004002b,0x00000006,
0x0000010f,0xbf075e30,0x0004002b,0x00000006,
0x00000110,0x3f13e798,0x0004002b,0x00000006,
0x00000111,0x3db45395,0x0004002b,0x00000006,
0x00000112,0xbf58621f,0x0007002c,0x0000000c,
0x00000113,0x0000010f,0x00000110,0x00000111,
0x00000112,0x0004002b,0x00000006,0x00000114,
0xbeadbe17,0x0004002b,0x00000006,0x00000115,
0xbe68cf93,0x0004002b,0x00000006,0x00000116,
0xbe04f81e,0x0004002b,0x00000006,0x00000117,
0x3eff80f9,0x0007002c,0x0000000c,0x00000118,
0x00000114,0x00000115,0x00000116,0x00000117,
0x0004002b,0x00000006,0x00000119,0x3fa1731a,
0x0004002b,0x00000006,0x0000011a,0xbf438002,
0x0004002b,0x00000006,0x0000011b,0x3fc8e2b6,
0x0004002b,0x00000006,0x0000011c,0xbed145e5,
0x0007002c,0x0000000c,0x0000011d,0x00000119,
0x0000011a,0x0000011b,0x0000011c,0x0004002b,
0x00000006,0x0000011e,0x3db31aa9,0x0004002b,
0x00000006,0x0000011f,0x3f34eb55,0x0004002b,
0x00000006,0x00000120,0xbeaf153c,0x0004002b,
0x00000006,0x00000121,0xbea731fb,0x0007002c,
0x0000000c,0x00000122,0x0000011e,0x0000011f,
0x00000120,0x00000121,0x0007002c,0x00000035,
0x00000123,0x00000113,0x00000118,0x0000011d,
0x00000122,0x0004002b,0x00000006,0x0000012a,
0x3f52afd9,0x0004002b,0x00000006,0x0000012b,
0xbdfd2d51,0x0004002b,0x00000006,0x0000012c,
0xbe3e6334,0x0004002b,0x00000006,0x0000012d,
0x3fd590e3,0x0007002c,0x0000000c,0x0000012e,
0x0000012a,0x0000012b,0x0000012c,0x0000012d,
0x0004002b,0x00000006,0x0000012f,0x3e4ce130,
0x0004002b,0x00000006,0x00000130,0xbdfdc436,
0x0004002b,0x00000006,0x00000131,0x3fc7fae2,
0x0004002b,0x00000006,0x00000132,0x3e364533,
0x0007002c,0x0000000c,0x00000133,0x0000012f,
0x00000130,0x00000131,0x00000132,0x0004002b,
0x00000006,0x00000134,0x3dd0767b,0x0004002b,
0x00000006,0x00000135,0xbebdd1b1,0x0004002b,
0x00000006,0x00000136,0x3f880580,0x0004002b,
0x00000006,0x00000137,0xbe9ff347,0x0007002c,
0x0000000c,0x00000138,0x00000134,0x00000135,
0x00000136,0x00000137,0x0004002b,0x00000006,
0x00000139,0x3d86f9a6,0x0004002b,0x00000006,
0x0000013a,0xbeb79367,0x0004002b,0x00000006,
0x0000013b,0xbe3f1ea1,0x0004002b,0x00000006,
0x0000013c,0x3f2c604f,0x0007002c,0x0000000c,
0x0000013d,0x00000139,0x0000013a,0x0000013b,
0x0000013c,0x0007002c,0x00000035,0x0000013e,
0x0000012e,0x00000133,0x00000138,0x0000013d,
0x0004002b,0x00000006,0x00000144,0xbf0dedeb,
0x0004002b,0x00000006,0x00000145,0xbe41d613,
0x0004002b,0x00000006,0x00000146,0x3e7bfad1,
0x0004002b,0x00000006,0x00000147,0xbdd84efb,
0x0007002c,0x0000000c,0x00000148,0x00000144,
0x00000145,0x00000146,0x00000147,0x0004002b,
0x00000006,0x00000149,0xbedd15f9,0x0004002b,
0x00000006,0x0000014a,0x3e00cfe8,0x0004002b,
0x00000006,0x0000014b,0xbe88d83d,0x0004002b,
0x00000006,0x0000014c,0xbe2d1482,0x0007002c,
0x0000000c,0x0000014d,0x00000149,0x0000014a,
0x0000014b,0x0000014c,0x0004002b,0x00000006,
0x0000014e,0x3aeed6e1,0x0004002b,0x00000006,
0x0000014f,0xbee1278b,0x0004002b,0x00000006,
0x00000150,0xbe99ffdc,0x0004002b,0x00000006,
0x00000151,0x3ddad2b9,0x0007002c,0x0000000c,
0x00000152,0x0000014e,0x0000014f,0x00000150,
0x00000151,0x0004002b,0x00000006,0x00000153,
0x3eb38a71,0x0004002b,0x00000006,0x00000154,
0x3dea41de,0x0004002b,0x00000006,0x00000155,
0x3e0ba87e,0x0004002b,0x00000006,0x00000156,
0xbe1123d3,0x0007002c,0x0000000c,0x00000157,
0x00000153,0x00000154,0x00000155,0x00000156,
0x0007002c,0x00000035,0x00000158,0x00000148,
0x0000014d,0x00000152,0x00000157,0x0004002b,
0x00000006,0x0000015f,0xbd4f1f36,0x0004002b,
0x00000006,0x00000160,0x3e3b8ac1,0x0004002b,
0x00000006,0x00000161,0x3eca9db2,0x0004002b,
0x00000006,0x00000162,0xbe6b0ce6,0x0007002c,
0x0000000c,0x00000163,0x0000015f,0x00000160,
0x00000161,0x00000162,0x0004002b,0x00000006,
0x00000164,0xbec74fc1,0x0004002b,0x00000006,
0x00000165,0x3f0b2f9b,0x0004002b,0x00000006,
0x00000166,0x3df96643,0x0004002b,0x00000006,
0x00000167,0x3cb6ec86,0x0007002c,0x0000000c,
0x00000168,0x00000164,0x00000165,0x00000166,
0x00000167,0x0004002b,0x00000006,0x00000169,
0xbee47fae,0x0004002b,0x00000006,0x0000016a,
0xbecfaa92,0x0004002b,0x00000006,0x0000016b,
0xbec116ea,0x0004002b,0x00000006,0x0000016c,
0x3da549a0,0x0007002c,0x0000000c,0x0000016d,
0x00000169,0x0000016a,0x0000016b,0x0000016c,
0x0004002b,0x00000006,0x0000016e,0x3e58c0cc,
0x0004002b,0x00000006,0x0000016f,0x3ce63786,
0x0004002b,0x00000006,0x00000170,0xbcbbd076,
0x0004002b,0x00000006,0x00000171,0x3e92df62,
0x0007002c,0x0000000c,0x00000172,0x0000016e,
0x0000016f,0x00000170,0x00000171,0x0007002c,
0x00000035,0x00000173,0x00000163,0x00000168,
0x0000016d,0x00000172,0x0004002b,0x00000006,
0x00000179,0x3e48fb52,0x0004002b,0x00000006,
0x0000017a,0xbe73078d,0x0004002b,0x00000006,
0x0000017b,0xc0215581,0x0004002b,0x00000006,
0x0000017c,0xbe4ba064,0x0007002c,0x0000000c,
0x0000017d,0x00000179,0x0000017a,0x0000017b,
0x0000017c,0x0004002b,0x00000006,0x0000017e,
0x3e63cb9f,0x0004002b,0x00000006,0x0000017f,
0xbe369955,0x0004002b,0x00000006,0x00000180,
0xbecadef0,0x0004002b,0x00000006,0x00000181,
0xbe2ca4f7,0x0007002c,0x0000000c,0x00000182,
0x0000017e,0x0000017f,0x00000180,0x00000181,
0x0004002b,0x00000006,0x00000183,0x3e439fbc,
0x0004002b,0x00000006,0x00000184,0x3e82c8eb,
0x0004002b,0x00000006,0x00000185,0x3eead314,
0x0004002b,0x00000006,0x00000186,0x3e8e4a9d,
0x0007002c,0x0000000c,0x00000187,0x00000183,
0x00000184,0x00000185,0x00000186,0x0004002b,
0x00000006,0x00000188,0xbe4d0d21,0x0004002b,
0x00000006,0x00000189,0xbbc82f90,0x0004002b,
0x00000006,0x0000018a,0x3fb0be7c,0x0004002b,
0x00000006,0x0000018b,0x3d32235c,0x0007002c,
0x0000000c,0x0000018c,0x00000188,0x00000189,
0x0000018a,0x0000018b,0x0007002c,0x00000035,
0x0000018d,0x0000017d,0x00000182,0x00000187,
0x0000018c,0x0004002b,0x00000006,0x00000194,
0xbcfbfebe,0x0004002b,0x00000006,0x00000195,
0xbd56d2b9,0x0004002b,0x00000006,0x00000196,
0xbf16f9f0,0x0004002b,0x00000006,0x00000197,
0xbda74149,0x0007002c,0x0000000c,0x00000198,
0x00000194,0x00000195,0x00000196,0x00000197,
0x0004002b,0x00000006,0x00000199,0x3ecf8243,
0x0004002b,0x00000006,0x0000019a,0x3e822944,
0x0004002b,0x00000006,0x0000019b,0xbff3b98f,
0x0004002b,0x00000006,0x0000019c,0x3dab1a4a,
0x0007002c,0x0000000c,0x0000019d,0x00000199,
0x0000019a,0x0000019b,0x0000019c,0x0004002b,
0x00000006,0x0000019e,0xbe7e68a5,0x0004002b,
0x00000006,0x0000019f,0xbc9756a2,0x0004002b,
0x00000006,0x000001a0,0x3ee6eac3,0x0004002b,
0x00000006,0x000001a1,0x3e847c72,0x0007002c,
0x0000000c,0x000001a2,0x0000019e,0x0000019f,
0x000001a0,0x000001a1,0x0004002b,0x00000006,
0x000001a3,0x3e1d65be,0x0004002b,0x00000006,
0x000001a4,0x3e19ebb0,0x0004002b,0x00000006,
0x000001a5,0xbd9827f4,0x0004002b,0x00000006,
0x000001a6,0x3d7b2c5c,0x0007002c,0x0000000c,
0x000001a7,0x000001a3,0x000001a4,0x000001a5,
0x000001a6,0x0007002c,0x00000035,0x000001a8,
0x00000198,0x0000019d,0x000001a2,0x000001a7,
0x0004002b,0x00000006,0x000001ae,0x3e3584a6,
0x0004002b,0x00000006,0x000001af,0x3dc25477,
0x0004002b,0x00000006,0x000001b0,0x3c0960a1,
0x0004002b,0x00000006,0x000001b1,0xbe957d84,
0x0007002c,0x0000000c,0x000001b2,0x000001ae,
0x000001af,0x000001b0,0x000001b1,0x0004002b,
0x00000006,0x000001b3,0x3e836d88,0x0004002b,
0x00000006,0x000001b4,0x3cec8b81,0x0004002b,
0x00000006,0x000001b5,0xbeeccb04,0x0004002b,
0x00000006,0x000001b6,0xbd795bf0,0x0007002c,
0x0000000c,0x000001b7,0x000001b3,0x000001b4,
0x000001b5,0x000001b6,0x0004002b,0x00000006,
0x000001b8,0x3ea985e5,0x0004002b,0x00000006,
0x000001b9,0xbc2adc0c,0x0004002b,0x00000006,
0x000001ba,0x3f222bdd,0x0004002b,0x00000006,
0x000001bb,0xbb3244cd,0x0007002c,0x0000000c,
0x000001bc,0x000001b8,0x000001b9,0x000001ba,
0x000001bb,0x0004002b,0x00000006,0x000001bd,
0xbd0c3a10,0x0004002b,0x00000006,0x000001be,
0x3e4688a3,0x0004002b,0x00000006,0x000001bf,
0xbe7c5830,0x0004002b,0x00000006,0x000001c0,
0x3c4e3f67,0x0007002c,0x0000000c,0x000001c1,
0x000001bd,0x000001be,0x000001bf,0x000001c0,
0x0007002c,0x00000035,0x000001c2,0x000001b2,
0x000001b7,0x000001bc,0x000001c1,0x0004002b,
0x00000006,0x000001c9,0x3ef7c76c,0x0004002b,
0x00000006,0x000001ca,0xbd4daf44,0x0004002b,
0x00000006,0x000001cb,0xbf8e42e4,0x0004002b,
0x00000006,0x000001cc,0xbecb0c01,0x0007002c,
0x0000000c,0x000001cd,0x000001c9,0x000001ca,
0x000001cb,0x000001cc,0x0004002b,0x00000006,
0x000001ce,0x3e58cf63,0x0004002b,0x00000006,
0x000001cf,0x3d29c587,0x0004002b,0x00000006,
0x000001d0,0xbe086ffd,0x0004002b,0x00000006,
0x000001d1,0xbd613b7e,0x0007002c,0x0000000c,
0x000001d2,0x000001ce,0x000001cf,0x000001d0,
0x000001d1,0x0004002b,0x00000006,0x000001d3,
0xbe028f8d,0x0004002b,0x00000006,0x000001d4,
0x3f48d06c,0x0004002b,0x00000006,0x000001d5,
0xbc1bea72,0x0004002b,0x00000006,0x000001d6,
0x3dc4d23e,0x0007002c,0x0000000c,0x000001d7,
0x000001d3,0x000001d4,0x000001d5,0x000001d6,
0x0004002b,0x00000006,0x000001d8,0xbef3aaef,
0x0004002b,0x00000006,0x000001d9,0xbedb5793,
0x0004002b,0x00000006,0x000001da,0xbe5436b5,
0x0004002b,0x00000006,0x000001db,0xbeca6c5c,
0x0007002c,0x0000000c,0x000001dc,0x000001d8,
0x000001d9,0x000001da,0x000001db,0x0007002c,
0x00000035,0x000001dd,0x000001cd,0x000001d2,
0x000001d7,0x000001dc,0x0004002b,0x00000006,
0x000001e3,0x3e2470e8,0x0004002b,0x00000006,
0x000001e4,0xbe2fb515,0x0004002b,0x00000006,
0x000001e5,0x3db14773,0x0004002b,0x00000006,
0x000001e6,0xbd3e37ed,0x0007002c,0x0000000c,
0x000001e7,0x000001e3,0x000001e4,0x000001e5,
0x000001e6,0x0004002b,0x00000006,0x000001e8,
0xbe89a759,0x0004002b,0x00000006,0x000001e9,
0x3e3062af,0x0004002b,0x00000006,0x000001ea,
0x3c894eda,0x0004002b,0x00000006,0x000001eb,
0xbb583ace,0x0007002c,0x0000000c,0x000001ec,
0x000001e8,0x000001e9,0x000001ea,0x000001eb,
0x0004002b,0x00000006,0x000001ed,0xbeb0b188,
0x0004002b,0x00000006,0x000001ee,0xbe6980b3,
0x0004002b,0x00000006,0x000001ef,0xbb434653,
0x0004002b,0x00000006,0x000001f0,0xbe239980,
0x0007002c,0x0000000c,0x000001f1,0x000001ed,
0x000001ee,0x000001ef,0x000001f0,0x0004002b,
0x00000006,0x000001f2,0x3d4cdb41,0x0004002b,
0x00000006,0x000001f3,0x3dd18666,0x0004002b,
0x00000006,0x000001f4,0xbd26b801,0x0004002b,
0x00000006,0x000001f5,0x3e643611,0x0007002c,
0x0000000c,0x000001f6,0x000001f2,0x000001f3,
0x000001f4,0x000001f5,0x0007002c,0x00000035,
0x000001f7,0x000001e7,0x000001ec,0x000001f1,
0x000001f6,0x0004002b,0x00000006,0x000001fe,
0x3f3332ad,0x0004002b,0x00000006,0x000001ff,
0x3dabeaef,0x0004002b,0x00000006,0x00000200,
0x3da70217,0x0004002b,0x00000006,0x00000201,
0xbe1a8a25,0x0007002c,0x0000000c,0x00000202,
0x000001fe,0x000001ff,0x00000200,0x00000201,
0x0004002b,0x00000006,0x00000203,0xbd8d7c99,
0x0004002b,0x00000006,0x00000204,0xbea3e276,
0x0004002b,0x00000006,0x00000205,0x3d9fc6ff,
0x0004002b,0x00000006,0x00000206,0xbe147170,
0x0007002c,0x0000000c,0x00000207,0x00000203,
0x00000204,0x00000205,0x00000206,0x0004002b,
0x00000006,0x00000208,0x3e92e222,0x0004002b,
0x00000006,0x00000209,0x3ecae0a0,0x0004002b,
0x00000006,0x0000020a,0xbeb01526,0x0004002b,
0x00000006,0x0000020b,0x3e880f63,0x0007002c,
0x0000000c,0x0000020c,0x00000208,0x00000209,
0x0000020a,0x0000020b,0x0004002b,0x00000006,
0x0000020d,0x3dca5ee2,0x0004002b,0x00000006,
0x0000020e,0x3eb1bb03,0x0004002b,0x00000006,
0x0000020f,0xbe5fe33c,0x0004002b,0x00000006,
0x00000210,0xbd84b6c2,0x0007002c,0x0000000c,
0x00000211,0x0000020d,0x0000020e,0x0000020f,
0x00000210,0x0007002c,0x00000035,0x00000212,
0x00000202,0x00000207,0x0000020c,0x00000211,
0x0007002c,0x0000000c,0x00000219,0x00000083,
0x00000083,0x00000083,0x00000083,0x0004002b,
0x00000006,0x0000021b,0x3f83fb46,0x0004002b,
0x00000006,0x0000021c,0x3dd7499f,0x0004002b,
0x00000006,0x0000021d,0x3ded5072,0x0004002b,
0x00000006,0x0000021e,0x3d3f223c,0x0007002c,
0x0000000c,0x0000021f,0x0000021b,0x0000021c,
0x0000021d,0x0000021e,0x00040015,0x00000227,
0x00000020,0x00000000,0x00040017,0x00000228,
0x00000227,0x00000003,0x00040020,0x00000229,
0x00000001,0x00000228,0x0004003b,0x00000229,
0x0000022a,0x00000001,0x00040017,0x0000022b,
0x00000227,0x00000002,0x00020014,0x0000022f,
0x0004002b,0x00000227,0x00000230,0x00000000,
0x00040020,0x00000234,0x00000009,0x00000016,
0x0004002b,0x00000227,0x0000023b,0x00000001,
0x00090019,0x00000245,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x00000246,0x00000000,
0x00000245,0x0004003b,0x00000246,0x00000247,
0x00000000,0x0004002b,0x00000227,0x0000024b,
0x00000010,0x0006002c,0x00000228,0x0000024c,
0x0000024b,0x0000024b,0x0000023b,0x0004002b,
0x00000016,0x000003b8,0xffffffff,0x0005002c,
0x00000017,0x000003b9,0x000003b8,0x000003b8,
0x0005002c,0x00000017,0x000003ba,0x00000026,
0x00000026,0x0005002c,0x00000017,0x000003bb,
0x000003b8,0x0000001e,0x0005002c,0x00000017,
0x000003bc,0x000003b8,0x00000026,0x0005002c,
0x00000017,0x000003bd,0x0000001e,0x000003b8,
0x0005002c,0x00000017,0x000003be,0x0000001e,
0x00000026,0x0005002c,0x00000017,0x000003bf,
0x00000026,0x000003b8,0x0005002c,0x00000017,
0x000003c0,0x00000026,0x0000001e,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x000300f7,0x0000024e,
0x00000000,0x000300fb,0x00000230,0x0000024f,
0x000200f8,0x0000024f,0x0004003d,0x00000228,
0x0000022c,0x0000022a,0x0007004f,0x0000022b,
0x0000022d,0x0000022c,0x0000022c,0x00000000,
0x00000001,0x0004007c,0x00000017,0x0000022e,
0x0000022d,0x00050051,0x00000016,0x00000233,
0x0000022e,0x00000000,0x00060041,0x00000234,
0x00000235,0x00000022,0x0000001e,0x00000230,
0x0004003d,0x00000016,0x00000236,0x00000235,
0x000500af,0x0000022f,0x00000237,0x00000233,
0x00000236,0x000400a8,0x0000022f,0x00000238,
0x00000237,0x000300f7,0x0000023a,0x00000000,
0x000400fa,0x00000238,0x00000239,0x0000023a,
0x000200f8,0x00000239,0x00050051,0x00000016,
0x0000023d,0x0000022e,0x00000001,0x00060041,
0x00000234,0x0000023e,0x00000022,0x0000001e,
0x0000023b,0x0004003d,0x00000016,0x0000023f,
0x0000023e,0x000500af,0x0000022f,0x00000240,
0x0000023d,0x0000023f,0x000200f9,0x0000023a,
0x000200f8,0x0000023a,0x000700f5,0x0000022f,
0x00000241,0x00000237,0x0000024f,0x00000240,
0x00000239,0x000300f7,0x00000243,0x00000000,
0x000400fa,0x00000241,0x00000242,0x00000243,
0x000200f8,0x00000242,0x000200f9,0x0000024e,
0x000200f8,0x00000243,0x0004003d,0x00000245,
0x00000248,0x00000247,0x0004003d,0x00000008,
0x000002ba,0x0000004b,0x00050080,0x00000017,
0x000002be,0x0000022e,0x000003b9,0x00050041,
0x00000023,0x000002bf,0x00000022,0x0000001e,
0x0004003d,0x00000017,0x000002c0,0x000002bf,
0x00050082,0x00000017,0x000002c2,0x000002c0,
0x000003ba,0x0008000c,0x00000017,0x000002c3,
0x00000001,0x0000002d,0x000002be,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x000002c4,
0x000002ba,0x0007005f,0x0000000c,0x000002c5,
0x000002c4,0x000002c3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000026a,0x0000004a,
0x000002c5,0x00050081,0x0000000c,0x0000026c,
0x00000034,0x0000026a,0x0004003d,0x00000008,
0x000002c8,0x00000068,0x00040064,0x00000007,
0x000002d2,0x000002c8,0x0007005f,0x0000000c,
0x000002d3,0x000002d2,0x000002c3,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000026e,
0x00000067,0x000002d3,0x00050081,0x0000000c,
0x00000270,0x0000026c,0x0000026e,0x0004003d,
0x00000008,0x000002d6,0x0000004b,0x00050080,
0x00000017,0x000002da,0x0000022e,0x000003bb,
0x0008000c,0x00000017,0x000002df,0x00000001,
0x0000002d,0x000002da,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000002e0,0x000002d6,
0x0007005f,0x0000000c,0x000002e1,0x000002e0,
0x000002df,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000272,0x00000082,0x000002e1,
0x00050081,0x0000000c,0x00000274,0x00000270,
0x00000272,0x0004003d,0x00000008,0x000002e4,
0x00000068,0x00040064,0x00000007,0x000002ee,
0x000002e4,0x0007005f,0x0000000c,0x000002ef,
0x000002ee,0x000002df,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x00000276,0x0000009e,
0x000002ef,0x00050081,0x0000000c,0x00000278,
0x00000274,0x00000276,0x0004003d,0x00000008,
0x000002f2,0x0000004b,0x00050080,0x00000017,
0x000002f6,0x0000022e,0x000003bc,0x0008000c,
0x00000017,0x000002fb,0x00000001,0x0000002d,
0x000002f6,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x000002fc,0x000002f2,0x0007005f,
0x0000000c,0x000002fd,0x000002fc,0x000002fb,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000027a,0x000000b8,0x000002fd,0x00050081,
0x0000000c,0x0000027c,0x00000278,0x0000027a,
0x0004003d,0x00000008,0x00000300,0x00000068,
0x00040064,0x00000007,0x0000030a,0x00000300,
0x0007005f,0x0000000c,0x0000030b,0x0000030a,
0x000002fb,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000027e,0x000000d4,0x0000030b,
0x00050081,0x0000000c,0x00000280,0x0000027c,
0x0000027e,0x0004003d,0x00000008,0x0000030e,
0x0000004b,0x00050080,0x00000017,0x00000312,
0x0000022e,0x000003bd,0x0008000c,0x00000017,
0x00000317,0x00000001,0x0000002d,0x00000312,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x00000318,0x0000030e,0x0007005f,0x0000000c,
0x00000319,0x00000318,0x00000317,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x00000282,
0x000000ee,0x00000319,0x00050081,0x0000000c,
0x00000284,0x00000280,0x00000282,0x0004003d,
0x00000008,0x0000031c,0x00000068,0x00040064,
0x00000007,0x00000326,0x0000031c,0x0007005f,
0x0000000c,0x00000327,0x00000326,0x00000317,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000286,0x00000109,0x00000327,0x00050081,
0x0000000c,0x00000288,0x00000284,0x00000286,
0x0004003d,0x00000008,0x0000032a,0x0000004b,
0x0008000c,0x00000017,0x00000333,0x00000001,
0x0000002d,0x0000022e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x00000334,0x0000032a,
0x0007005f,0x0000000c,0x00000335,0x00000334,
0x00000333,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000028a,0x00000123,0x00000335,
0x00050081,0x0000000c,0x0000028c,0x00000288,
0x0000028a,0x0004003d,0x00000008,0x00000338,
0x00000068,0x00040064,0x00000007,0x00000342,
0x00000338,0x0007005f,0x0000000c,0x00000343,
0x00000342,0x00000333,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000028e,0x0000013e,
0x00000343,0x00050081,0x0000000c,0x00000290,
0x0000028c,0x0000028e,0x0004003d,0x00000008,
0x00000346,0x0000004b,0x00050080,0x00000017,
0x0000034a,0x0000022e,0x000003be,0x0008000c,
0x00000017,0x0000034f,0x00000001,0x0000002d,
0x0000034a,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x00000350,0x00000346,0x0007005f,
0x0000000c,0x00000351,0x00000350,0x0000034f,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000292,0x00000158,0x00000351,0x00050081,
0x0000000c,0x00000294,0x00000290,0x00000292,
0x0004003d,0x00000008,0x00000354,0x00000068,
0x00040064,0x00000007,0x0000035e,0x00000354,
0x0007005f,0x0000000c,0x0000035f,0x0000035e,
0x0000034f,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000296,0x00000173,0x0000035f,
0x00050081,0x0000000c,0x00000298,0x00000294,
0x00000296,0x0004003d,0x00000008,0x00000362,
0x0000004b,0x00050080,0x00000017,0x00000366,
0x0000022e,0x000003bf,0x0008000c,0x00000017,
0x0000036b,0x00000001,0x0000002d,0x00000366,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x0000036c,0x00000362,0x0007005f,0x0000000c,
0x0000036d,0x0000036c,0x0000036b,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000029a,
0x0000018d,0x0000036d,0x00050081,0x0000000c,
0x0000029c,0x00000298,0x0000029a,0x0004003d,
0x00000008,0x00000370,0x00000068,0x00040064,
0x00000007,0x0000037a,0x00000370,0x0007005f,
0x0000000c,0x0000037b,0x0000037a,0x0000036b,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000029e,0x000001a8,0x0000037b,0x00050081,
0x0000000c,0x000002a0,0x0000029c,0x0000029e,
0x0004003d,0x00000008,0x0000037e,0x0000004b,
0x00050080,0x00000017,0x00000382,0x0000022e,
0x000003c0,0x0008000c,0x00000017,0x00000387,
0x00000001,0x0000002d,0x00000382,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x00000388,
0x0000037e,0x0007005f,0x0000000c,0x00000389,
0x00000388,0x00000387,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002a2,0x000001c2,
0x00000389,0x00050081,0x0000000c,0x000002a4,
0x000002a0,0x000002a2,0x0004003d,0x00000008,
0x0000038c,0x00000068,0x00040064,0x00000007,
0x00000396,0x0000038c,0x0007005f,0x0000000c,
0x00000397,0x00000396,0x00000387,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x000002a6,
0x000001dd,0x00000397,0x00050081,0x0000000c,
0x000002a8,0x000002a4,0x000002a6,0x0004003d,
0x00000008,0x0000039a,0x0000004b,0x00050080,
0x00000017,0x0000039e,0x0000022e,0x000003ba,
0x0008000c,0x00000017,0x000003a3,0x00000001,
0x0000002d,0x0000039e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000003a4,0x0000039a,
0x0007005f,0x0000000c,0x000003a5,0x000003a4,
0x000003a3,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x000002aa,0x000001f7,0x000003a5,
0x00050081,0x0000000c,0x000002ac,0x000002a8,
0x000002aa,0x0004003d,0x00000008,0x000003a8,
0x00000068,0x00040064,0x00000007,0x000003b2,
0x000003a8,0x0007005f,0x0000000c,0x000003b3,
0x000003b2,0x000003a3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002ae,0x00000212,
0x000003b3,0x00050081,0x0000000c,0x000002b0,
0x000002ac,0x000002ae,0x0007000c,0x0000000c,
0x000002b2,0x00000001,0x00000028,0x000002b0,
0x00000219,0x0007000c,0x0000000c,0x000002b4,
0x00000001,0x00000025,0x000002b0,0x00000219,
0x00050085,0x0000000c,0x000002b5,0x0000021f,
0x000002b4,0x00050081,0x0000000c,0x000002b6,
0x000002b2,0x000002b5,0x00040063,0x00000248,
0x0000022e,0x000002b6,0x000200f9,0x0000024e,
0x000200f8,0x0000024e,0x000100fd,0x00010038}
+46
View File
@@ -0,0 +1,46 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: mapping 1_2. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define FEATURE1_texOff(o) fetch_(in0, vec2(o))
#define FEATURE2_texOff(o) fetch_(in1, vec2(o))
vec4 hook()
{
vec4 res = vec4(0.0713458731770515,-0.1403961777687073,-0.0019562745001167,0.0153338573873043);
res += mat4(-0.0950641855597496,-0.1496641039848328,-0.0653550028800964,0.0655386000871658,-0.0118882004171610,0.2012491524219513,-0.2844599783420563,-0.4794720113277435,0.1128025799989700,-0.0173030979931355,-0.0558849945664406,-0.2957552075386047,0.0128202112391591,0.0199047476053238,-0.0091027505695820,-0.0789640173316002) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(0.1597457975149155,-0.0476507246494293,0.1466529071331024,0.0859163030982018,0.0797316282987595,-0.3380981683731079,0.2370245009660721,-0.1145931258797646,-0.0352988094091415,-0.0444888733327389,-0.2100716233253479,0.1305520236492157,-0.1359029710292816,0.1097442805767059,0.0449938289821148,-0.1155664771795273) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(-0.0333916284143925,0.2415594160556793,0.0520512908697128,0.1228107511997223,-0.0491011217236519,0.4408806562423706,0.4631956815719604,0.2014560103416443,-0.3688595592975616,0.0367180295288563,0.2484581321477890,-0.1113442853093147,0.1283355057239532,0.0418004281818867,-0.0171243026852608,-0.1231943219900131) * FEATURE1_texOff(vec2(-1,0));
res += mat4(0.3493446409702301,0.4550022482872009,0.0368724688887596,0.0748724937438965,0.5001406073570251,0.0145555436611176,0.1236629858613014,0.3143120706081390,-0.1951988488435745,-0.0157914645969868,0.0937998965382576,-0.2233840376138687,0.5033411383628845,-0.3183194100856781,-0.2259195148944855,0.3639536798000336) * FEATURE2_texOff(vec2(-1,0));
res += mat4(-0.0742707476019859,-0.1287801116704941,-0.2533137500286102,0.0666435658931732,-0.0185621567070484,0.1427449285984039,-0.0724751204252243,-0.0781485065817833,-0.2270648330450058,-0.2314778864383698,0.3814929425716400,-0.1655400246381760,0.0408568829298019,-0.1139645278453827,0.1797397136688232,-0.0245632305741310) * FEATURE1_texOff(vec2(-1,1));
res += mat4(0.1184135973453522,0.0439366139471531,0.0225226897746325,-0.0038526873104274,0.1292685419321060,0.0629177838563919,0.3455114960670471,-0.1857204884290695,-0.4921502172946930,-0.1171003505587578,0.0188624169677496,-0.1101682260632515,0.0676844567060471,0.5154085755348206,-0.0898379907011986,0.3413280248641968) * FEATURE2_texOff(vec2(-1,1));
res += mat4(-0.2631838321685791,0.0215514600276947,0.3092688918113708,-0.0200904365628958,0.0678770467638969,0.1769931465387344,-0.3653681278228760,-0.3274513185024261,0.4608019888401031,-0.1544784456491470,0.1189439669251442,0.7015876173973083,0.2732816934585571,-0.0545057803392410,-0.3474545478820801,-0.0253226496279240) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.0994316861033440,0.0642566010355949,0.2031503319740295,0.2276959568262100,-0.1094077304005623,0.4463521838188171,0.0921792611479759,-0.3033096492290497,-0.0953373983502388,-0.1331395804882050,0.2615413069725037,-0.2874414622783661,-0.0389687754213810,0.0338272154331207,0.2804331183433533,-0.3443813025951385) * FEATURE2_texOff(vec2(0,-1));
res += mat4(-0.1806042939424515,-0.4840798676013947,0.4222546219825745,0.1238701492547989,0.0117481639608741,-0.5986865758895874,0.3057619929313660,0.1934896260499954,-0.7086342573165894,-0.8567376136779785,0.6944998502731323,-1.4599204063415527,0.0886754393577576,-0.4293498098850250,-0.1524195969104767,0.2418079674243927) * FEATURE1_texOff(vec2(0,0));
res += mat4(2.1706113815307617,0.3525652289390564,-0.7008359432220459,-0.4825965166091919,-0.3203429281711578,0.8500943183898926,-0.7993509769439697,0.4329842329025269,0.2106771767139435,1.1103280782699585,1.2092385292053223,1.4814503192901611,-0.4147390127182007,-0.7046836614608765,-0.1443170011043549,-0.6811133027076721) * FEATURE2_texOff(vec2(0,0));
res += mat4(-0.1489356607198715,0.1400019824504852,0.2425604313611984,-0.2098473459482193,-0.1580564379692078,0.1463224738836288,-0.2187854647636414,0.5174596905708313,-0.0143817225471139,-0.0362622961401939,-0.0068237944506109,0.4749472737312317,0.2914732992649078,-0.3306328952312469,-0.2444777786731720,-0.1171946674585342) * FEATURE1_texOff(vec2(0,1));
res += mat4(0.0455239675939083,0.3496046066284180,0.1297491937875748,-0.2541095912456512,0.3605501055717468,0.2339573651552200,-0.0188565086573362,-0.0526181310415268,0.1471424549818039,0.8212822079658508,0.0819099843502045,-0.0851665437221527,0.3739568293094635,0.1304695755243301,0.1481167376041412,-0.2134698331356049) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.2076720446348190,-0.0932599306106567,0.0648527294397354,-0.2374770641326904,-0.0927826911211014,0.1848200261592865,0.4131188094615936,0.3280069231987000,-0.2099185734987259,0.2130926996469498,-0.0362745784223080,0.0191331822425127,0.1590368449687958,0.0303016249090433,0.1207325309514999,0.2451425045728683) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.0135009605437517,-0.0101303057745099,0.0752487555146217,0.0533373840153217,-0.0253537259995937,0.1318614929914474,-0.1263181120157242,0.0249524712562561,-0.1477261483669281,0.3236559033393860,0.0773291289806366,-0.1439673304557800,-0.2005890905857086,0.0892757251858711,0.0398719944059849,0.3675192892551422) * FEATURE2_texOff(vec2(1,-1));
res += mat4(-0.0193535499274731,-0.2256918102502823,0.0341436080634594,0.0795947611331940,0.1496857404708862,-0.2784725725650787,-0.0582313314080238,-0.2786065340042114,-0.1666128039360046,-0.6534121036529541,0.2695854306221008,-0.0179719906300306,0.0015976354479790,0.0139929885044694,-0.1706486046314240,-0.3274765610694885) * FEATURE1_texOff(vec2(1,0));
res += mat4(-0.7170836329460144,0.0868831276893616,0.1829078495502472,-0.0076045366004109,0.1525912433862686,-0.2558896839618683,0.0893209800124168,-0.3426039516925812,-0.2871107757091522,-0.2445062994956970,0.1676304638385773,0.2116415053606033,0.0883995518088341,-0.3880331516265869,0.2636835277080536,-0.2514505982398987) * FEATURE2_texOff(vec2(1,0));
res += mat4(-0.1861270815134048,0.2000686377286911,-0.1501186788082123,0.1525203883647919,0.1969228833913803,0.1174068301916122,-0.1281060427427292,-0.0854888409376144,0.0290613435208797,-0.0538076497614384,-0.0251582786440849,0.0692845508456230,0.0384319014847279,0.2888138592243195,0.1151804402470589,0.0990421250462532) * FEATURE1_texOff(vec2(1,1));
res += mat4(-0.0344385802745819,0.1270371377468109,0.0922426953911781,-0.0426749102771282,-0.1656492203474045,-0.3273328542709351,-0.0282224025577307,0.1099396124482155,-0.1113230437040329,0.2943290174007416,-0.2181112915277481,-0.3177657723426819,-0.1096536740660667,-0.0508293099701405,-0.0256164856255054,-0.0388228967785835) * FEATURE2_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.7142407894134521,0.0686190053820610,0.3999933302402496,-1.0247212648391724) * min(res, vec4(0.0));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+703
View File
@@ -0,0 +1,703 @@
{0x07230203,0x00010000,0x000d000b,0x000003c1,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000022a,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000022a,0x0000000b,0x0000001c,
0x00030047,0x00000247,0x00000019,0x00040047,
0x00000247,0x00000021,0x00000000,0x00040047,
0x00000247,0x00000022,0x00000000,0x00040047,
0x0000024c,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0x3d921dc9,0x0004002b,
0x00000006,0x00000031,0xbe0fc404,0x0004002b,
0x00000006,0x00000032,0xbb0034d7,0x0004002b,
0x00000006,0x00000033,0x3c7b3adc,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0xbdc2b103,0x0004002b,0x00000006,
0x00000037,0xbe19418c,0x0004002b,0x00000006,
0x00000038,0xbd85d8d8,0x0004002b,0x00000006,
0x00000039,0x3d86391a,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0xbc42c6ba,0x0004002b,0x00000006,0x0000003c,
0x3e4e1442,0x0004002b,0x00000006,0x0000003d,
0xbe91a4bd,0x0004002b,0x00000006,0x0000003e,
0xbef57d5b,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0x3de7050a,
0x0004002b,0x00000006,0x00000041,0xbc8dbf3a,
0x0004002b,0x00000006,0x00000042,0xbd64e7aa,
0x0004002b,0x00000006,0x00000043,0xbe976d3a,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0x3c520bdd,0x0004002b,
0x00000006,0x00000046,0x3ca30f48,0x0004002b,
0x00000006,0x00000047,0xbc1523b4,0x0004002b,
0x00000006,0x00000048,0xbda1b7e3,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x00000053,
0x3e239467,0x0004002b,0x00000006,0x00000054,
0xbd432d68,0x0004002b,0x00000006,0x00000055,
0x3e162c2e,0x0004002b,0x00000006,0x00000056,
0x3daff4e3,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0x3da34a56,
0x0004002b,0x00000006,0x00000059,0xbead1b34,
0x0004002b,0x00000006,0x0000005a,0x3e72b68d,
0x0004002b,0x00000006,0x0000005b,0xbdeaafcd,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0xbd10957c,0x0004002b,
0x00000006,0x0000005e,0xbd3639f7,0x0004002b,
0x00000006,0x0000005f,0xbe571d04,0x0004002b,
0x00000006,0x00000060,0x3e05af6e,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0xbe0b2a26,0x0004002b,0x00000006,
0x00000063,0x3de0c19c,0x0004002b,0x00000006,
0x00000064,0x3d384b73,0x0004002b,0x00000006,
0x00000065,0xbdecae1e,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004002b,0x00000006,0x0000006e,0xbd08c5a9,
0x0004002b,0x00000006,0x0000006f,0x3e775b5a,
0x0004002b,0x00000006,0x00000070,0x3d5533bc,
0x0004002b,0x00000006,0x00000071,0x3dfb8434,
0x0007002c,0x0000000c,0x00000072,0x0000006e,
0x0000006f,0x00000070,0x00000071,0x0004002b,
0x00000006,0x00000073,0xbd491e42,0x0004002b,
0x00000006,0x00000074,0x3ee1bb1c,0x0004002b,
0x00000006,0x00000075,0x3eed27fc,0x0004002b,
0x00000006,0x00000076,0x3e4e4a7c,0x0007002c,
0x0000000c,0x00000077,0x00000073,0x00000074,
0x00000075,0x00000076,0x0004002b,0x00000006,
0x00000078,0xbebcdb29,0x0004002b,0x00000006,
0x00000079,0x3d1665a5,0x0004002b,0x00000006,
0x0000007a,0x3e7e6bcf,0x0004002b,0x00000006,
0x0000007b,0xbde40879,0x0007002c,0x0000000c,
0x0000007c,0x00000078,0x00000079,0x0000007a,
0x0000007b,0x0004002b,0x00000006,0x0000007d,
0x3e036a62,0x0004002b,0x00000006,0x0000007e,
0x3d2b36ed,0x0004002b,0x00000006,0x0000007f,
0xbc8c4844,0x0004002b,0x00000006,0x00000080,
0xbdfc4d4e,0x0007002c,0x0000000c,0x00000081,
0x0000007d,0x0000007e,0x0000007f,0x00000080,
0x0007002c,0x00000035,0x00000082,0x00000072,
0x00000077,0x0000007c,0x00000081,0x0004002b,
0x00000006,0x00000083,0x00000000,0x0004002b,
0x00000006,0x0000008a,0x3eb2dd4d,0x0004002b,
0x00000006,0x0000008b,0x3ee8f60e,0x0004002b,
0x00000006,0x0000008c,0x3d170796,0x0004002b,
0x00000006,0x0000008d,0x3d9956c0,0x0007002c,
0x0000000c,0x0000008e,0x0000008a,0x0000008b,
0x0000008c,0x0000008d,0x0004002b,0x00000006,
0x0000008f,0x3f000937,0x0004002b,0x00000006,
0x00000090,0x3c6e7a60,0x0004002b,0x00000006,
0x00000091,0x3dfd4305,0x0004002b,0x00000006,
0x00000092,0x3ea0ed83,0x0007002c,0x0000000c,
0x00000093,0x0000008f,0x00000090,0x00000091,
0x00000092,0x0004002b,0x00000006,0x00000094,
0xbe47e235,0x0004002b,0x00000006,0x00000095,
0xbc815d1a,0x0004002b,0x00000006,0x00000096,
0x3dc01a29,0x0004002b,0x00000006,0x00000097,
0xbe64bec9,0x0007002c,0x0000000c,0x00000098,
0x00000094,0x00000095,0x00000096,0x00000097,
0x0004002b,0x00000006,0x00000099,0x3f00daf7,
0x0004002b,0x00000006,0x0000009a,0xbea2fac3,
0x0004002b,0x00000006,0x0000009b,0xbe675772,
0x0004002b,0x00000006,0x0000009c,0x3eba5823,
0x0007002c,0x0000000c,0x0000009d,0x00000099,
0x0000009a,0x0000009b,0x0000009c,0x0007002c,
0x00000035,0x0000009e,0x0000008e,0x00000093,
0x00000098,0x0000009d,0x0004002b,0x00000006,
0x000000a4,0xbd981b43,0x0004002b,0x00000006,
0x000000a5,0xbe03deef,0x0004002b,0x00000006,
0x000000a6,0xbe81b257,0x0004002b,0x00000006,
0x000000a7,0x3d887c6c,0x0007002c,0x0000000c,
0x000000a8,0x000000a4,0x000000a5,0x000000a6,
0x000000a7,0x0004002b,0x00000006,0x000000a9,
0xbc980faa,0x0004002b,0x00000006,0x000000aa,
0x3e122bba,0x0004002b,0x00000006,0x000000ab,
0xbd946dd6,0x0004002b,0x00000006,0x000000ac,
0xbda00c53,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000ae,0xbe6883af,
0x0004002b,0x00000006,0x000000af,0xbe6d088a,
0x0004002b,0x00000006,0x000000b0,0x3ec3530b,
0x0004002b,0x00000006,0x000000b1,0xbe298353,
0x0007002c,0x0000000c,0x000000b2,0x000000ae,
0x000000af,0x000000b0,0x000000b1,0x0004002b,
0x00000006,0x000000b3,0x3d27598c,0x0004002b,
0x00000006,0x000000b4,0xbde9663c,0x0004002b,
0x00000006,0x000000b5,0x3e380db0,0x0004002b,
0x00000006,0x000000b6,0xbcc938d4,0x0007002c,
0x0000000c,0x000000b7,0x000000b3,0x000000b4,
0x000000b5,0x000000b6,0x0007002c,0x00000035,
0x000000b8,0x000000a8,0x000000ad,0x000000b2,
0x000000b7,0x0004002b,0x00000006,0x000000c0,
0x3df282d4,0x0004002b,0x00000006,0x000000c1,
0x3d33f6e1,0x0004002b,0x00000006,0x000000c2,
0x3cb88181,0x0004002b,0x00000006,0x000000c3,
0xbb7c7d5e,0x0007002c,0x0000000c,0x000000c4,
0x000000c0,0x000000c1,0x000000c2,0x000000c3,
0x0004002b,0x00000006,0x000000c5,0x3e045ef9,
0x0004002b,0x00000006,0x000000c6,0x3d80db0a,
0x0004002b,0x00000006,0x000000c7,0x3eb0e6e2,
0x0004002b,0x00000006,0x000000c8,0xbe3e2d83,
0x0007002c,0x0000000c,0x000000c9,0x000000c5,
0x000000c6,0x000000c7,0x000000c8,0x0004002b,
0x00000006,0x000000ca,0xbefbfb1d,0x0004002b,
0x00000006,0x000000cb,0xbdefd24f,0x0004002b,
0x00000006,0x000000cc,0x3c9a855b,0x0004002b,
0x00000006,0x000000cd,0xbde19fe1,0x0007002c,
0x0000000c,0x000000ce,0x000000ca,0x000000cb,
0x000000cc,0x000000cd,0x0004002b,0x00000006,
0x000000cf,0x3d8a9e26,0x0004002b,0x00000006,
0x000000d0,0x3f03f1d1,0x0004002b,0x00000006,
0x000000d1,0xbdb7fcfb,0x0004002b,0x00000006,
0x000000d2,0x3eaec28c,0x0007002c,0x0000000c,
0x000000d3,0x000000cf,0x000000d0,0x000000d1,
0x000000d2,0x0007002c,0x00000035,0x000000d4,
0x000000c4,0x000000c9,0x000000ce,0x000000d3,
0x0004002b,0x00000006,0x000000da,0xbe86c008,
0x0004002b,0x00000006,0x000000db,0x3cb08cb0,
0x0004002b,0x00000006,0x000000dc,0x3e9e587e,
0x0004002b,0x00000006,0x000000dd,0xbca494b3,
0x0007002c,0x0000000c,0x000000de,0x000000da,
0x000000db,0x000000dc,0x000000dd,0x0004002b,
0x00000006,0x000000df,0x3d8b031f,0x0004002b,
0x00000006,0x000000e0,0x3e353db1,0x0004002b,
0x00000006,0x000000e1,0xbebb1188,0x0004002b,
0x00000006,0x000000e2,0xbea7a7b3,0x0007002c,
0x0000000c,0x000000e3,0x000000df,0x000000e0,
0x000000e1,0x000000e2,0x0004002b,0x00000006,
0x000000e4,0x3eebee3d,0x0004002b,0x00000006,
0x000000e5,0xbe1e2f99,0x0004002b,0x00000006,
0x000000e6,0x3df398e5,0x0004002b,0x00000006,
0x000000e7,0x3f339b3f,0x0007002c,0x0000000c,
0x000000e8,0x000000e4,0x000000e5,0x000000e6,
0x000000e7,0x0004002b,0x00000006,0x000000e9,
0x3e8beb94,0x0004002b,0x00000006,0x000000ea,
0xbd5f4174,0x0004002b,0x00000006,0x000000eb,
0xbeb1e590,0x0004002b,0x00000006,0x000000ec,
0xbccf7172,0x0007002c,0x0000000c,0x000000ed,
0x000000e9,0x000000ea,0x000000eb,0x000000ec,
0x0007002c,0x00000035,0x000000ee,0x000000de,
0x000000e3,0x000000e8,0x000000ed,0x0004002b,
0x00000006,0x000000f5,0x3dcba2d7,0x0004002b,
0x00000006,0x000000f6,0x3d8398f7,0x0004002b,
0x00000006,0x000000f7,0x3e5006a4,0x0004002b,
0x00000006,0x000000f8,0x3e692921,0x0007002c,
0x0000000c,0x000000f9,0x000000f5,0x000000f6,
0x000000f7,0x000000f8,0x0004002b,0x00000006,
0x000000fa,0xbde01129,0x0004002b,0x00000006,
0x000000fb,0x3ee48846,0x0004002b,0x00000006,
0x000000fc,0x3dbcc87b,0x0004002b,0x00000006,
0x000000fd,0xbe9b4b67,0x0007002c,0x0000000c,
0x000000fe,0x000000fa,0x000000fb,0x000000fc,
0x000000fd,0x0004002b,0x00000006,0x000000ff,
0xbdc34041,0x0004002b,0x00000006,0x00000100,
0xbe0855be,0x0004002b,0x00000006,0x00000101,
0x3e85e8be,0x0004002b,0x00000006,0x00000102,
0xbe932b87,0x0007002c,0x0000000c,0x00000103,
0x000000ff,0x00000100,0x00000101,0x00000102,
0x0004002b,0x00000006,0x00000104,0xbd1f9db9,
0x0004002b,0x00000006,0x00000105,0x3d0a8e68,
0x0004002b,0x00000006,0x00000106,0x3e8f94ee,
0x0004002b,0x00000006,0x00000107,0xbeb052bf,
0x0007002c,0x0000000c,0x00000108,0x00000104,
0x00000105,0x00000106,0x00000107,0x0007002c,
0x00000035,0x00000109,0x000000f9,0x000000fe,
0x00000103,0x00000108,0x0004002b,0x00000006,
0x0000010f,0xbe38f055,0x0004002b,0x00000006,
0x00000110,0xbef7d951,0x0004002b,0x00000006,
0x00000111,0x3ed831c2,0x0004002b,0x00000006,
0x00000112,0x3dfdafa2,0x0007002c,0x0000000c,
0x00000113,0x0000010f,0x00000110,0x00000111,
0x00000112,0x0004002b,0x00000006,0x00000114,
0x3c407b5f,0x0004002b,0x00000006,0x00000115,
0xbf194386,0x0004002b,0x00000006,0x00000116,
0x3e9c8cd6,0x0004002b,0x00000006,0x00000117,
0x3e462225,0x0007002c,0x0000000c,0x00000118,
0x00000114,0x00000115,0x00000116,0x00000117,
0x0004002b,0x00000006,0x00000119,0xbf35690e,
0x0004002b,0x00000006,0x0000011a,0xbf5b5328,
0x0004002b,0x00000006,0x0000011b,0x3f31cabe,
0x0004002b,0x00000006,0x0000011c,0xbfbadeac,
0x0007002c,0x0000000c,0x0000011d,0x00000119,
0x0000011a,0x0000011b,0x0000011c,0x0004002b,
0x00000006,0x0000011e,0x3db59b78,0x0004002b,
0x00000006,0x0000011f,0xbedbd3bd,0x0004002b,
0x00000006,0x00000120,0xbe1c13e2,0x0004002b,
0x00000006,0x00000121,0x3e779c82,0x0007002c,
0x0000000c,0x00000122,0x0000011e,0x0000011f,
0x00000120,0x00000121,0x0007002c,0x00000035,
0x00000123,0x00000113,0x00000118,0x0000011d,
0x00000122,0x0004002b,0x00000006,0x0000012a,
0x400aeb4c,0x0004002b,0x00000006,0x0000012b,
0x3eb4836e,0x0004002b,0x00000006,0x0000012c,
0xbf3369fc,0x0004002b,0x00000006,0x0000012d,
0xbef716e4,0x0007002c,0x0000000c,0x0000012e,
0x0000012a,0x0000012b,0x0000012c,0x0000012d,
0x0004002b,0x00000006,0x0000012f,0xbea403fd,
0x0004002b,0x00000006,0x00000130,0x3f599fc8,
0x0004002b,0x00000006,0x00000131,0xbf4ca244,
0x0004002b,0x00000006,0x00000132,0x3eddb01c,
0x0007002c,0x0000000c,0x00000133,0x0000012f,
0x00000130,0x00000131,0x00000132,0x0004002b,
0x00000006,0x00000134,0x3e57bbc2,0x0004002b,
0x00000006,0x00000135,0x3f8e1f3b,0x0004002b,
0x00000006,0x00000136,0x3f9ac854,0x0004002b,
0x00000006,0x00000137,0x3fbda02a,0x0007002c,
0x0000000c,0x00000138,0x00000134,0x00000135,
0x00000136,0x00000137,0x0004002b,0x00000006,
0x00000139,0xbed458ac,0x0004002b,0x00000006,
0x0000013a,0xbf346626,0x0004002b,0x00000006,
0x0000013b,0xbe13c7d6,0x0004002b,0x00000006,
0x0000013c,0xbf2e5d71,0x0007002c,0x0000000c,
0x0000013d,0x00000139,0x0000013a,0x0000013b,
0x0000013c,0x0007002c,0x00000035,0x0000013e,
0x0000012e,0x00000133,0x00000138,0x0000013d,
0x0004002b,0x00000006,0x00000144,0xbe188297,
0x0004002b,0x00000006,0x00000145,0x3e0f5cae,
0x0004002b,0x00000006,0x00000146,0x3e7861c3,
0x0004002b,0x00000006,0x00000147,0xbe56e239,
0x0007002c,0x0000000c,0x00000148,0x00000144,
0x00000145,0x00000146,0x00000147,0x0004002b,
0x00000006,0x00000149,0xbe21d98c,0x0004002b,
0x00000006,0x0000014a,0x3e15d58f,0x0004002b,
0x00000006,0x0000014b,0xbe60094c,0x0004002b,
0x00000006,0x0000014c,0x3f04783d,0x0007002c,
0x0000000c,0x0000014d,0x00000149,0x0000014a,
0x0000014b,0x0000014c,0x0004002b,0x00000006,
0x0000014e,0xbc6ba151,0x0004002b,0x00000006,
0x0000014f,0xbd1487c6,0x0004002b,0x00000006,
0x00000150,0xbbdf9a23,0x0004002b,0x00000006,
0x00000151,0x3ef32c4a,0x0007002c,0x0000000c,
0x00000152,0x0000014e,0x0000014f,0x00000150,
0x00000151,0x0004002b,0x00000006,0x00000153,
0x3e953bfd,0x0004002b,0x00000006,0x00000154,
0xbea948b7,0x0004002b,0x00000006,0x00000155,
0xbe7a5862,0x0004002b,0x00000006,0x00000156,
0xbdf003c2,0x0007002c,0x0000000c,0x00000157,
0x00000153,0x00000154,0x00000155,0x00000156,
0x0007002c,0x00000035,0x00000158,0x00000148,
0x0000014d,0x00000152,0x00000157,0x0004002b,
0x00000006,0x0000015f,0x3d3a7757,0x0004002b,
0x00000006,0x00000160,0x3eb2ff60,0x0004002b,
0x00000006,0x00000161,0x3e04dcf9,0x0004002b,
0x00000006,0x00000162,0xbe821aa7,0x0007002c,
0x0000000c,0x00000163,0x0000015f,0x00000160,
0x00000161,0x00000162,0x0004002b,0x00000006,
0x00000164,0x3eb89a06,0x0004002b,0x00000006,
0x00000165,0x3e6f9285,0x0004002b,0x00000006,
0x00000166,0xbc9a78f7,0x0004002b,0x00000006,
0x00000167,0xbd57861c,0x0007002c,0x0000000c,
0x00000168,0x00000164,0x00000165,0x00000166,
0x00000167,0x0004002b,0x00000006,0x00000169,
0x3e16ac83,0x0004002b,0x00000006,0x0000016a,
0x3f523f8d,0x0004002b,0x00000006,0x0000016b,
0x3da7c06c,0x0004002b,0x00000006,0x0000016c,
0xbdae6bcc,0x0007002c,0x0000000c,0x0000016d,
0x00000169,0x0000016a,0x0000016b,0x0000016c,
0x0004002b,0x00000006,0x0000016e,0x3ebf7745,
0x0004002b,0x00000006,0x0000016f,0x3e0599d1,
0x0004002b,0x00000006,0x00000170,0x3e17abea,
0x0004002b,0x00000006,0x00000171,0xbe5a97d6,
0x0007002c,0x0000000c,0x00000172,0x0000016e,
0x0000016f,0x00000170,0x00000171,0x0007002c,
0x00000035,0x00000173,0x00000163,0x00000168,
0x0000016d,0x00000172,0x0004002b,0x00000006,
0x00000179,0xbe54a7fb,0x0004002b,0x00000006,
0x0000017a,0xbdbeff10,0x0004002b,0x00000006,
0x0000017b,0x3d84d182,0x0004002b,0x00000006,
0x0000017c,0xbe732d30,0x0007002c,0x0000000c,
0x0000017d,0x00000179,0x0000017a,0x0000017b,
0x0000017c,0x0004002b,0x00000006,0x0000017e,
0xbdbe04da,0x0004002b,0x00000006,0x0000017f,
0x3e3d4176,0x0004002b,0x00000006,0x00000180,
0x3ed3844f,0x0004002b,0x00000006,0x00000181,
0x3ea7f086,0x0007002c,0x0000000c,0x00000182,
0x0000017e,0x0000017f,0x00000180,0x00000181,
0x0004002b,0x00000006,0x00000183,0xbe56f4e5,
0x0004002b,0x00000006,0x00000184,0x3e5a34f9,
0x0004002b,0x00000006,0x00000185,0xbd1494a7,
0x0004002b,0x00000006,0x00000186,0x3c9cbd31,
0x0007002c,0x0000000c,0x00000187,0x00000183,
0x00000184,0x00000185,0x00000186,0x0004002b,
0x00000006,0x00000188,0x3e22da8e,0x0004002b,
0x00000006,0x00000189,0x3cf83b1d,0x0004002b,
0x00000006,0x0000018a,0x3df7429e,0x0004002b,
0x00000006,0x0000018b,0x3e7b06a3,0x0007002c,
0x0000000c,0x0000018c,0x00000188,0x00000189,
0x0000018a,0x0000018b,0x0007002c,0x00000035,
0x0000018d,0x0000017d,0x00000182,0x00000187,
0x0000018c,0x0004002b,0x00000006,0x00000194,
0xbc5d3322,0x0004002b,0x00000006,0x00000195,
0xbc25f995,0x0004002b,0x00000006,0x00000196,
0x3d9a1c05,0x0004002b,0x00000006,0x00000197,
0x3d5a784d,0x0007002c,0x0000000c,0x00000198,
0x00000194,0x00000195,0x00000196,0x00000197,
0x0004002b,0x00000006,0x00000199,0xbccfb29e,
0x0004002b,0x00000006,0x0000019a,0x3e0706b3,
0x0004002b,0x00000006,0x0000019b,0xbe015989,
0x0004002b,0x00000006,0x0000019c,0x3ccc6920,
0x0007002c,0x0000000c,0x0000019d,0x00000199,
0x0000019a,0x0000019b,0x0000019c,0x0004002b,
0x00000006,0x0000019e,0xbe174586,0x0004002b,
0x00000006,0x0000019f,0x3ea5b63a,0x0004002b,
0x00000006,0x000001a0,0x3d9e5ebc,0x0004002b,
0x00000006,0x000001a1,0xbe136c2c,0x0007002c,
0x0000000c,0x000001a2,0x0000019e,0x0000019f,
0x000001a0,0x000001a1,0x0004002b,0x00000006,
0x000001a3,0xbe4d673a,0x0004002b,0x00000006,
0x000001a4,0x3db6d631,0x0004002b,0x00000006,
0x000001a5,0x3d2350d1,0x0004002b,0x00000006,
0x000001a6,0x3ebc2b7d,0x0007002c,0x0000000c,
0x000001a7,0x000001a3,0x000001a4,0x000001a5,
0x000001a6,0x0007002c,0x00000035,0x000001a8,
0x00000198,0x0000019d,0x000001a2,0x000001a7,
0x0004002b,0x00000006,0x000001ae,0xbc9e8b56,
0x0004002b,0x00000006,0x000001af,0xbe671bc1,
0x0004002b,0x00000006,0x000001b0,0x3d0bda2b,
0x0004002b,0x00000006,0x000001b1,0x3da30294,
0x0007002c,0x0000000c,0x000001b2,0x000001ae,
0x000001af,0x000001b0,0x000001b1,0x0004002b,
0x00000006,0x000001b3,0x3e194738,0x0004002b,
0x00000006,0x000001b4,0xbe8e93f5,0x0004002b,
0x00000006,0x000001b5,0xbd6e83fa,0x0004002b,
0x00000006,0x000001b6,0xbe8ea584,0x0007002c,
0x0000000c,0x000001b7,0x000001b3,0x000001b4,
0x000001b5,0x000001b6,0x0004002b,0x00000006,
0x000001b8,0xbe2a9c8c,0x0004002b,0x00000006,
0x000001b9,0xbf274604,0x0004002b,0x00000006,
0x000001ba,0x3e8a071a,0x0004002b,0x00000006,
0x000001bb,0xbc9339ff,0x0007002c,0x0000000c,
0x000001bc,0x000001b8,0x000001b9,0x000001ba,
0x000001bb,0x0004002b,0x00000006,0x000001bd,
0x3ad167c0,0x0004002b,0x00000006,0x000001be,
0x3c6542d9,0x0004002b,0x00000006,0x000001bf,
0xbe2ebe82,0x0004002b,0x00000006,0x000001c0,
0xbea7ab02,0x0007002c,0x0000000c,0x000001c1,
0x000001bd,0x000001be,0x000001bf,0x000001c0,
0x0007002c,0x00000035,0x000001c2,0x000001b2,
0x000001b7,0x000001bc,0x000001c1,0x0004002b,
0x00000006,0x000001c9,0xbf3792cb,0x0004002b,
0x00000006,0x000001ca,0x3db1efc8,0x0004002b,
0x00000006,0x000001cb,0x3e3b4c32,0x0004002b,
0x00000006,0x000001cc,0xbbf92f7a,0x0007002c,
0x0000000c,0x000001cd,0x000001c9,0x000001ca,
0x000001cb,0x000001cc,0x0004002b,0x00000006,
0x000001ce,0x3e1c40e1,0x0004002b,0x00000006,
0x000001cf,0xbe8303f9,0x0004002b,0x00000006,
0x000001d0,0x3db6edeb,0x0004002b,0x00000006,
0x000001d1,0xbeaf69c9,0x0007002c,0x0000000c,
0x000001d2,0x000001ce,0x000001cf,0x000001d0,
0x000001d1,0x0004002b,0x00000006,0x000001d3,
0xbe93002f,0x0004002b,0x00000006,0x000001d4,
0xbe7a5fdc,0x0004002b,0x00000006,0x000001d5,
0x3e2ba752,0x0004002b,0x00000006,0x000001d6,
0x3e58b88d,0x0007002c,0x0000000c,0x000001d7,
0x000001d3,0x000001d4,0x000001d5,0x000001d6,
0x0004002b,0x00000006,0x000001d8,0x3db50ad3,
0x0004002b,0x00000006,0x000001d9,0xbec6ac48,
0x0004002b,0x00000006,0x000001da,0x3e870187,
0x0004002b,0x00000006,0x000001db,0xbe80be22,
0x0007002c,0x0000000c,0x000001dc,0x000001d8,
0x000001d9,0x000001da,0x000001db,0x0007002c,
0x00000035,0x000001dd,0x000001cd,0x000001d2,
0x000001d7,0x000001dc,0x0004002b,0x00000006,
0x000001e3,0xbe3e9819,0x0004002b,0x00000006,
0x000001e4,0x3e4cdecb,0x0004002b,0x00000006,
0x000001e5,0xbe19b8b6,0x0004002b,0x00000006,
0x000001e6,0x3e1c2e4e,0x0007002c,0x0000000c,
0x000001e7,0x000001e3,0x000001e4,0x000001e5,
0x000001e6,0x0004002b,0x00000006,0x000001e8,
0x3e49a627,0x0004002b,0x00000006,0x000001e9,
0x3df072fe,0x0004002b,0x00000006,0x000001ea,
0xbe032e3b,0x0004002b,0x00000006,0x000001eb,
0xbdaf14c6,0x0007002c,0x0000000c,0x000001ec,
0x000001e8,0x000001e9,0x000001ea,0x000001eb,
0x0004002b,0x00000006,0x000001ed,0x3cee120e,
0x0004002b,0x00000006,0x000001ee,0xbd5c6569,
0x0004002b,0x00000006,0x000001ef,0xbcce18bc,
0x0004002b,0x00000006,0x000001f0,0x3d8de50f,
0x0007002c,0x0000000c,0x000001f1,0x000001ed,
0x000001ee,0x000001ef,0x000001f0,0x0004002b,
0x00000006,0x000001f2,0x3d1d6ac5,0x0004002b,
0x00000006,0x000001f3,0x3e93df69,0x0004002b,
0x00000006,0x000001f4,0x3debe3b9,0x0004002b,
0x00000006,0x000001f5,0x3dcad699,0x0007002c,
0x0000000c,0x000001f6,0x000001f2,0x000001f3,
0x000001f4,0x000001f5,0x0007002c,0x00000035,
0x000001f7,0x000001e7,0x000001ec,0x000001f1,
0x000001f6,0x0004002b,0x00000006,0x000001fe,
0xbd0d0f78,0x0004002b,0x00000006,0x000001ff,
0x3e021606,0x0004002b,0x00000006,0x00000200,
0x3dbce9bd,0x0004002b,0x00000006,0x00000201,
0xbd2ecbe3,0x0007002c,0x0000000c,0x00000202,
0x000001fe,0x000001ff,0x00000200,0x00000201,
0x0004002b,0x00000006,0x00000203,0xbe299ff3,
0x0004002b,0x00000006,0x00000204,0xbea7982c,
0x0004002b,0x00000006,0x00000205,0xbce732ab,
0x0004002b,0x00000006,0x00000206,0x3de12805,
0x0007002c,0x0000000c,0x00000207,0x00000203,
0x00000204,0x00000205,0x00000206,0x0004002b,
0x00000006,0x00000208,0xbde3fd56,0x0004002b,
0x00000006,0x00000209,0x3e96b24b,0x0004002b,
0x00000006,0x0000020a,0xbe5f5891,0x0004002b,
0x00000006,0x0000020b,0xbea2b232,0x0007002c,
0x0000000c,0x0000020c,0x00000208,0x00000209,
0x0000020a,0x0000020b,0x0004002b,0x00000006,
0x0000020d,0xbde0921b,0x0004002b,0x00000006,
0x0000020e,0xbd503265,0x0004002b,0x00000006,
0x0000020f,0xbcd1d9aa,0x0004002b,0x00000006,
0x00000210,0xbd1f04c2,0x0007002c,0x0000000c,
0x00000211,0x0000020d,0x0000020e,0x0000020f,
0x00000210,0x0007002c,0x00000035,0x00000212,
0x00000202,0x00000207,0x0000020c,0x00000211,
0x0007002c,0x0000000c,0x00000219,0x00000083,
0x00000083,0x00000083,0x00000083,0x0004002b,
0x00000006,0x0000021b,0x3f36d87c,0x0004002b,
0x00000006,0x0000021c,0x3d8c881f,0x0004002b,
0x00000006,0x0000021d,0x3ecccbed,0x0004002b,
0x00000006,0x0000021e,0xbf832a11,0x0007002c,
0x0000000c,0x0000021f,0x0000021b,0x0000021c,
0x0000021d,0x0000021e,0x00040015,0x00000227,
0x00000020,0x00000000,0x00040017,0x00000228,
0x00000227,0x00000003,0x00040020,0x00000229,
0x00000001,0x00000228,0x0004003b,0x00000229,
0x0000022a,0x00000001,0x00040017,0x0000022b,
0x00000227,0x00000002,0x00020014,0x0000022f,
0x0004002b,0x00000227,0x00000230,0x00000000,
0x00040020,0x00000234,0x00000009,0x00000016,
0x0004002b,0x00000227,0x0000023b,0x00000001,
0x00090019,0x00000245,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x00000246,0x00000000,
0x00000245,0x0004003b,0x00000246,0x00000247,
0x00000000,0x0004002b,0x00000227,0x0000024b,
0x00000010,0x0006002c,0x00000228,0x0000024c,
0x0000024b,0x0000024b,0x0000023b,0x0004002b,
0x00000016,0x000003b8,0xffffffff,0x0005002c,
0x00000017,0x000003b9,0x000003b8,0x000003b8,
0x0005002c,0x00000017,0x000003ba,0x00000026,
0x00000026,0x0005002c,0x00000017,0x000003bb,
0x000003b8,0x0000001e,0x0005002c,0x00000017,
0x000003bc,0x000003b8,0x00000026,0x0005002c,
0x00000017,0x000003bd,0x0000001e,0x000003b8,
0x0005002c,0x00000017,0x000003be,0x0000001e,
0x00000026,0x0005002c,0x00000017,0x000003bf,
0x00000026,0x000003b8,0x0005002c,0x00000017,
0x000003c0,0x00000026,0x0000001e,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x000300f7,0x0000024e,
0x00000000,0x000300fb,0x00000230,0x0000024f,
0x000200f8,0x0000024f,0x0004003d,0x00000228,
0x0000022c,0x0000022a,0x0007004f,0x0000022b,
0x0000022d,0x0000022c,0x0000022c,0x00000000,
0x00000001,0x0004007c,0x00000017,0x0000022e,
0x0000022d,0x00050051,0x00000016,0x00000233,
0x0000022e,0x00000000,0x00060041,0x00000234,
0x00000235,0x00000022,0x0000001e,0x00000230,
0x0004003d,0x00000016,0x00000236,0x00000235,
0x000500af,0x0000022f,0x00000237,0x00000233,
0x00000236,0x000400a8,0x0000022f,0x00000238,
0x00000237,0x000300f7,0x0000023a,0x00000000,
0x000400fa,0x00000238,0x00000239,0x0000023a,
0x000200f8,0x00000239,0x00050051,0x00000016,
0x0000023d,0x0000022e,0x00000001,0x00060041,
0x00000234,0x0000023e,0x00000022,0x0000001e,
0x0000023b,0x0004003d,0x00000016,0x0000023f,
0x0000023e,0x000500af,0x0000022f,0x00000240,
0x0000023d,0x0000023f,0x000200f9,0x0000023a,
0x000200f8,0x0000023a,0x000700f5,0x0000022f,
0x00000241,0x00000237,0x0000024f,0x00000240,
0x00000239,0x000300f7,0x00000243,0x00000000,
0x000400fa,0x00000241,0x00000242,0x00000243,
0x000200f8,0x00000242,0x000200f9,0x0000024e,
0x000200f8,0x00000243,0x0004003d,0x00000245,
0x00000248,0x00000247,0x0004003d,0x00000008,
0x000002ba,0x0000004b,0x00050080,0x00000017,
0x000002be,0x0000022e,0x000003b9,0x00050041,
0x00000023,0x000002bf,0x00000022,0x0000001e,
0x0004003d,0x00000017,0x000002c0,0x000002bf,
0x00050082,0x00000017,0x000002c2,0x000002c0,
0x000003ba,0x0008000c,0x00000017,0x000002c3,
0x00000001,0x0000002d,0x000002be,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x000002c4,
0x000002ba,0x0007005f,0x0000000c,0x000002c5,
0x000002c4,0x000002c3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000026a,0x0000004a,
0x000002c5,0x00050081,0x0000000c,0x0000026c,
0x00000034,0x0000026a,0x0004003d,0x00000008,
0x000002c8,0x00000068,0x00040064,0x00000007,
0x000002d2,0x000002c8,0x0007005f,0x0000000c,
0x000002d3,0x000002d2,0x000002c3,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000026e,
0x00000067,0x000002d3,0x00050081,0x0000000c,
0x00000270,0x0000026c,0x0000026e,0x0004003d,
0x00000008,0x000002d6,0x0000004b,0x00050080,
0x00000017,0x000002da,0x0000022e,0x000003bb,
0x0008000c,0x00000017,0x000002df,0x00000001,
0x0000002d,0x000002da,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000002e0,0x000002d6,
0x0007005f,0x0000000c,0x000002e1,0x000002e0,
0x000002df,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000272,0x00000082,0x000002e1,
0x00050081,0x0000000c,0x00000274,0x00000270,
0x00000272,0x0004003d,0x00000008,0x000002e4,
0x00000068,0x00040064,0x00000007,0x000002ee,
0x000002e4,0x0007005f,0x0000000c,0x000002ef,
0x000002ee,0x000002df,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x00000276,0x0000009e,
0x000002ef,0x00050081,0x0000000c,0x00000278,
0x00000274,0x00000276,0x0004003d,0x00000008,
0x000002f2,0x0000004b,0x00050080,0x00000017,
0x000002f6,0x0000022e,0x000003bc,0x0008000c,
0x00000017,0x000002fb,0x00000001,0x0000002d,
0x000002f6,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x000002fc,0x000002f2,0x0007005f,
0x0000000c,0x000002fd,0x000002fc,0x000002fb,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000027a,0x000000b8,0x000002fd,0x00050081,
0x0000000c,0x0000027c,0x00000278,0x0000027a,
0x0004003d,0x00000008,0x00000300,0x00000068,
0x00040064,0x00000007,0x0000030a,0x00000300,
0x0007005f,0x0000000c,0x0000030b,0x0000030a,
0x000002fb,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000027e,0x000000d4,0x0000030b,
0x00050081,0x0000000c,0x00000280,0x0000027c,
0x0000027e,0x0004003d,0x00000008,0x0000030e,
0x0000004b,0x00050080,0x00000017,0x00000312,
0x0000022e,0x000003bd,0x0008000c,0x00000017,
0x00000317,0x00000001,0x0000002d,0x00000312,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x00000318,0x0000030e,0x0007005f,0x0000000c,
0x00000319,0x00000318,0x00000317,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x00000282,
0x000000ee,0x00000319,0x00050081,0x0000000c,
0x00000284,0x00000280,0x00000282,0x0004003d,
0x00000008,0x0000031c,0x00000068,0x00040064,
0x00000007,0x00000326,0x0000031c,0x0007005f,
0x0000000c,0x00000327,0x00000326,0x00000317,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000286,0x00000109,0x00000327,0x00050081,
0x0000000c,0x00000288,0x00000284,0x00000286,
0x0004003d,0x00000008,0x0000032a,0x0000004b,
0x0008000c,0x00000017,0x00000333,0x00000001,
0x0000002d,0x0000022e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x00000334,0x0000032a,
0x0007005f,0x0000000c,0x00000335,0x00000334,
0x00000333,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000028a,0x00000123,0x00000335,
0x00050081,0x0000000c,0x0000028c,0x00000288,
0x0000028a,0x0004003d,0x00000008,0x00000338,
0x00000068,0x00040064,0x00000007,0x00000342,
0x00000338,0x0007005f,0x0000000c,0x00000343,
0x00000342,0x00000333,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000028e,0x0000013e,
0x00000343,0x00050081,0x0000000c,0x00000290,
0x0000028c,0x0000028e,0x0004003d,0x00000008,
0x00000346,0x0000004b,0x00050080,0x00000017,
0x0000034a,0x0000022e,0x000003be,0x0008000c,
0x00000017,0x0000034f,0x00000001,0x0000002d,
0x0000034a,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x00000350,0x00000346,0x0007005f,
0x0000000c,0x00000351,0x00000350,0x0000034f,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000292,0x00000158,0x00000351,0x00050081,
0x0000000c,0x00000294,0x00000290,0x00000292,
0x0004003d,0x00000008,0x00000354,0x00000068,
0x00040064,0x00000007,0x0000035e,0x00000354,
0x0007005f,0x0000000c,0x0000035f,0x0000035e,
0x0000034f,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000296,0x00000173,0x0000035f,
0x00050081,0x0000000c,0x00000298,0x00000294,
0x00000296,0x0004003d,0x00000008,0x00000362,
0x0000004b,0x00050080,0x00000017,0x00000366,
0x0000022e,0x000003bf,0x0008000c,0x00000017,
0x0000036b,0x00000001,0x0000002d,0x00000366,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x0000036c,0x00000362,0x0007005f,0x0000000c,
0x0000036d,0x0000036c,0x0000036b,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000029a,
0x0000018d,0x0000036d,0x00050081,0x0000000c,
0x0000029c,0x00000298,0x0000029a,0x0004003d,
0x00000008,0x00000370,0x00000068,0x00040064,
0x00000007,0x0000037a,0x00000370,0x0007005f,
0x0000000c,0x0000037b,0x0000037a,0x0000036b,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000029e,0x000001a8,0x0000037b,0x00050081,
0x0000000c,0x000002a0,0x0000029c,0x0000029e,
0x0004003d,0x00000008,0x0000037e,0x0000004b,
0x00050080,0x00000017,0x00000382,0x0000022e,
0x000003c0,0x0008000c,0x00000017,0x00000387,
0x00000001,0x0000002d,0x00000382,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x00000388,
0x0000037e,0x0007005f,0x0000000c,0x00000389,
0x00000388,0x00000387,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002a2,0x000001c2,
0x00000389,0x00050081,0x0000000c,0x000002a4,
0x000002a0,0x000002a2,0x0004003d,0x00000008,
0x0000038c,0x00000068,0x00040064,0x00000007,
0x00000396,0x0000038c,0x0007005f,0x0000000c,
0x00000397,0x00000396,0x00000387,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x000002a6,
0x000001dd,0x00000397,0x00050081,0x0000000c,
0x000002a8,0x000002a4,0x000002a6,0x0004003d,
0x00000008,0x0000039a,0x0000004b,0x00050080,
0x00000017,0x0000039e,0x0000022e,0x000003ba,
0x0008000c,0x00000017,0x000003a3,0x00000001,
0x0000002d,0x0000039e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000003a4,0x0000039a,
0x0007005f,0x0000000c,0x000003a5,0x000003a4,
0x000003a3,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x000002aa,0x000001f7,0x000003a5,
0x00050081,0x0000000c,0x000002ac,0x000002a8,
0x000002aa,0x0004003d,0x00000008,0x000003a8,
0x00000068,0x00040064,0x00000007,0x000003b2,
0x000003a8,0x0007005f,0x0000000c,0x000003b3,
0x000003b2,0x000003a3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002ae,0x00000212,
0x000003b3,0x00050081,0x0000000c,0x000002b0,
0x000002ac,0x000002ae,0x0007000c,0x0000000c,
0x000002b2,0x00000001,0x00000028,0x000002b0,
0x00000219,0x0007000c,0x0000000c,0x000002b4,
0x00000001,0x00000025,0x000002b0,0x00000219,
0x00050085,0x0000000c,0x000002b5,0x0000021f,
0x000002b4,0x00050081,0x0000000c,0x000002b6,
0x000002b2,0x000002b5,0x00040063,0x00000248,
0x0000022e,0x000002b6,0x000200f9,0x0000024e,
0x000200f8,0x0000024e,0x000100fd,0x00010038}
+46
View File
@@ -0,0 +1,46 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: mapping 2_1. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define MODEL21_texOff(o) fetch_(in0, vec2(o))
#define MODEL22_texOff(o) fetch_(in1, vec2(o))
vec4 hook()
{
vec4 res = vec4(0.0203563515096903,0.1902436912059784,-0.0757935121655464,0.0393617525696754);
res += mat4(-0.1080558672547340,-0.0400269515812397,0.1042881682515144,-0.1994346678256989,0.0172465778887272,-0.0829331055283546,-0.1278677284717560,-0.0762506872415543,-0.0593080408871174,-0.0305212251842022,0.1326192617416382,-0.3380933105945587,-0.0722763314843178,-0.1975518912076950,-0.0223602931946516,0.2251029163599014) * MODEL21_texOff(vec2(-1,-1));
res += mat4(0.1747678220272064,0.0297168865799904,0.1054855734109879,0.0803295820951462,-0.0338115766644478,-0.3885377943515778,-0.3540246784687042,-0.0719623491168022,-0.0656022280454636,-0.0469004511833191,0.1379419565200806,0.0319863893091679,0.0799935683608055,-0.0099127553403378,0.1698455959558487,-0.0108015276491642) * MODEL22_texOff(vec2(-1,-1));
res += mat4(0.1587898135185242,0.3995443880558014,-0.0333226583898067,0.2373267263174057,-0.1616930961608887,0.0659186244010925,0.0141129801049829,-0.0541022196412086,-0.5743742585182190,0.1121487766504288,0.4259817600250244,0.0280795227736235,-0.3721714317798615,-0.3496374189853668,0.0997273251414299,-0.0079920450225472) * MODEL21_texOff(vec2(-1,0));
res += mat4(0.0928084030747414,0.3107658624649048,0.1375299990177155,0.1550617516040802,-0.0780353918671608,-0.0102957757189870,-0.2056752145290375,-0.3927979469299316,-1.2112152576446533,0.0213295854628086,0.1396545022726059,0.0492016039788723,-0.0569122135639191,-0.1691886335611343,-0.1535325646400452,0.2800904810428619) * MODEL22_texOff(vec2(-1,0));
res += mat4(0.2494744062423706,-0.0363066755235195,0.0959179550409317,-0.0048101749271154,-0.0195793900638819,0.0451166369020939,0.1470773071050644,-0.0050059854984283,0.2886958122253418,-0.3221147954463959,-0.7062104344367981,0.1646659970283508,-0.0092520527541637,-0.1254461258649826,0.0217506736516953,-0.0678806379437447) * MODEL21_texOff(vec2(-1,1));
res += mat4(-0.0686557441949844,-0.0414490625262260,-0.1855954080820084,0.0264346338808537,-0.0296857114881277,-0.0431593284010887,0.0669397041201591,-0.0946076661348343,-0.2036914378404617,-0.1336101740598679,-0.2099903970956802,-0.1327936947345734,-0.1002155169844627,-0.0368575826287270,-0.1660962998867035,0.0728288888931274) * MODEL22_texOff(vec2(-1,1));
res += mat4(0.5504320859909058,0.2939232587814331,0.4704743027687073,0.2129514217376709,0.0843106731772423,-0.1978624463081360,-0.3298224806785583,0.1919094175100327,0.1980742365121841,-0.0644423812627792,0.0091170109808445,-0.2124856859445572,0.0804558470845222,-0.1130188927054405,-0.6276652812957764,0.1861163526773453) * MODEL21_texOff(vec2(0,-1));
res += mat4(-0.3357668519020081,0.2093413323163986,0.4355416595935822,0.1550502777099609,-0.6510964035987854,-0.1751857399940491,-0.2060168534517288,-0.1710205078125000,-0.1202360317111015,-0.2500316798686981,0.1074745431542397,-0.2418434321880341,0.0133954072371125,-0.0555886104702950,0.1514673978090286,0.2739115655422211) * MODEL22_texOff(vec2(0,-1));
res += mat4(-0.3006273508071899,-0.2699472010135651,-0.1982013583183289,-0.0032952548936009,0.0307833012193441,0.3671586215496063,-0.0966020002961159,-0.2836556434631348,0.4297264218330383,0.6171903610229492,0.6723483800888062,0.2705117464065552,-0.1438141316175461,-0.0873940736055374,-0.7001031041145325,-0.2052250355482101) * MODEL21_texOff(vec2(0,0));
res += mat4(-0.2875024676322937,-1.6230558156967163,-0.6733398437500000,-0.9642448425292969,-0.1964960694313049,0.2485812455415726,0.1236900389194489,-1.1423941850662231,-0.0412602946162224,0.3412002623081207,0.3962794244289398,-0.2490761876106262,-0.0058065578341484,-0.4578708708286285,-0.2418260127305984,0.5357795953750610) * MODEL22_texOff(vec2(0,0));
res += mat4(0.0062361713498831,0.1925230026245117,0.0824977159500122,0.0561275146901608,0.0929671525955200,0.0698546022176743,0.3816939592361450,0.0395248420536518,-0.0719512030482292,0.0564917400479317,-0.1297784000635147,0.1245511695742607,0.0012355837970972,-0.0990515723824501,0.4213519692420959,-0.1645816713571548) * MODEL21_texOff(vec2(0,1));
res += mat4(-0.0611936338245869,-0.0220258161425591,-0.0040935277938843,-0.1060328409075737,-0.0583154149353504,-0.0171997752040625,0.1058546081185341,0.2793170809745789,-0.2339317053556442,-0.1972009539604187,-0.0600687190890312,-0.0684379041194916,0.0243016034364700,-0.2111079394817352,-0.2042971849441528,0.0724857896566391) * MODEL22_texOff(vec2(0,1));
res += mat4(-0.0833447948098183,-0.0533220991492271,0.0767802372574806,0.1182348504662514,-0.0223299078643322,-0.0479344800114632,-0.0119727496057749,0.0524821877479553,-0.0334780365228653,0.0719002187252045,0.0439689308404922,0.0475181229412556,0.0764308497309685,0.0086713796481490,-0.1700707823038101,0.0657354295253754) * MODEL21_texOff(vec2(1,-1));
res += mat4(0.1391696482896805,0.0739523395895958,0.0565792545676231,-0.0430364646017551,0.0943084582686424,0.0102064209058881,0.0120795257389545,-0.0841303989291191,0.1573246121406555,0.0164279472082853,0.0988841354846954,-0.1430613398551941,-0.0572808869183064,-0.0844292491674423,0.0621565617620945,0.0923799052834511) * MODEL22_texOff(vec2(1,-1));
res += mat4(-0.1223107874393463,-0.2441930323839188,-0.2410650849342346,-0.0162935722619295,0.0695567727088928,-0.0028583710081875,-0.0059417244046926,0.0715164169669151,-0.0668491795659065,-0.1499572396278381,0.0869924053549767,0.0553652904927731,0.2729566097259521,0.1370039582252502,-0.1282183527946472,-0.1451860070228577) * MODEL21_texOff(vec2(1,0));
res += mat4(0.1331952214241028,0.0021079662255943,-0.1116734445095062,-0.4168601930141449,0.0534659475088120,0.0037860786542296,-0.0366065911948681,0.1047701835632324,0.1491260826587677,0.0782341659069061,0.0949895009398460,-0.1160908639431000,-0.1057133302092552,-0.2699718773365021,-0.1193305626511574,0.2142304331064224) * MODEL22_texOff(vec2(1,0));
res += mat4(0.0041565205901861,-0.1065499857068062,-0.0629659667611122,-0.1144768893718719,0.0318886637687683,-0.0562519319355488,0.0043422472663224,0.0226082988083363,-0.1456198990345001,-0.2398656159639359,-0.2625046670436859,-0.0710547044873238,0.0067904205061495,0.0018544088816270,0.1019348874688148,-0.0186133962124586) * MODEL21_texOff(vec2(1,1));
res += mat4(0.0732532218098640,0.1516859829425812,0.0580205544829369,0.1968977004289627,-0.0066619524732232,-0.1597842127084732,-0.0990600511431694,-0.1059188917279243,0.0718481168150902,-0.2222738713026047,-0.1675696671009064,-0.1500017195940018,-0.0568779110908508,-0.0582777932286263,-0.0844587534666061,-0.0263266414403915) * MODEL22_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.2459529191255569,0.7563464641571045,-0.0705636814236641,-0.0094820559024811) * min(res, vec4(0.0));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+703
View File
@@ -0,0 +1,703 @@
{0x07230203,0x00010000,0x000d000b,0x000003c1,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000022a,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000022a,0x0000000b,0x0000001c,
0x00030047,0x00000247,0x00000019,0x00040047,
0x00000247,0x00000021,0x00000000,0x00040047,
0x00000247,0x00000022,0x00000000,0x00040047,
0x0000024c,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0x3ca6c25d,0x0004002b,
0x00000006,0x00000031,0x3e42cf3e,0x0004002b,
0x00000006,0x00000032,0xbd9b39a1,0x0004002b,
0x00000006,0x00000033,0x3d2139ca,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0xbddd4c65,0x0004002b,0x00000006,
0x00000037,0xbd23f34d,0x0004002b,0x00000006,
0x00000038,0x3dd59509,0x0004002b,0x00000006,
0x00000039,0xbe4c389a,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0x3c8d48b2,0x0004002b,0x00000006,0x0000003c,
0xbda9d8d5,0x0004002b,0x00000006,0x0000003d,
0xbe02efc2,0x0004002b,0x00000006,0x0000003e,
0xbd9c2952,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0xbd72ecfd,
0x0004002b,0x00000006,0x00000041,0xbcfa07a6,
0x0004002b,0x00000006,0x00000042,0x3e07cd58,
0x0004002b,0x00000006,0x00000043,0xbead1a91,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0xbd94059d,0x0004002b,
0x00000006,0x00000046,0xbe4a4b0b,0x0004002b,
0x00000006,0x00000047,0xbcb72cef,0x0004002b,
0x00000006,0x00000048,0x3e668161,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x00000053,
0x3e32f656,0x0004002b,0x00000006,0x00000054,
0x3cf370d4,0x0004002b,0x00000006,0x00000055,
0x3dd808d2,0x0004002b,0x00000006,0x00000056,
0x3da483d6,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0xbd0a7e02,
0x0004002b,0x00000006,0x00000059,0xbec6ee6d,
0x0004002b,0x00000006,0x0000005a,0xbeb542b9,
0x0004002b,0x00000006,0x0000005b,0xbd9360ff,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0xbd865a76,0x0004002b,
0x00000006,0x0000005e,0xbd401ab0,0x0004002b,
0x00000006,0x0000005f,0x3e0d40a8,0x0004002b,
0x00000006,0x00000060,0x3d030429,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0x3da3d3ab,0x0004002b,0x00000006,
0x00000063,0xbc22691c,0x0004002b,0x00000006,
0x00000064,0x3e2dec01,0x0004002b,0x00000006,
0x00000065,0xbc30f8e4,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004002b,0x00000006,0x0000006e,0x3e2299cc,
0x0004002b,0x00000006,0x0000006f,0x3ecc9115,
0x0004002b,0x00000006,0x00000070,0xbd087d57,
0x0004002b,0x00000006,0x00000071,0x3e7305c7,
0x0007002c,0x0000000c,0x00000072,0x0000006e,
0x0000006f,0x00000070,0x00000071,0x0004002b,
0x00000006,0x00000073,0xbe2592e0,0x0004002b,
0x00000006,0x00000074,0x3d870058,0x0004002b,
0x00000006,0x00000075,0x3c673a21,0x0004002b,
0x00000006,0x00000076,0xbd5d9a4a,0x0007002c,
0x0000000c,0x00000077,0x00000073,0x00000074,
0x00000075,0x00000076,0x0004002b,0x00000006,
0x00000078,0xbf130a31,0x0004002b,0x00000006,
0x00000079,0x3de5ae42,0x0004002b,0x00000006,
0x0000007a,0x3eda1a48,0x0004002b,0x00000006,
0x0000007b,0x3ce60707,0x0007002c,0x0000000c,
0x0000007c,0x00000078,0x00000079,0x0000007a,
0x0000007b,0x0004002b,0x00000006,0x0000007d,
0xbebe8d41,0x0004002b,0x00000006,0x0000007e,
0xbeb303ad,0x0004002b,0x00000006,0x0000007f,
0x3dcc3dd7,0x0004002b,0x00000006,0x00000080,
0xbc02f111,0x0007002c,0x0000000c,0x00000081,
0x0000007d,0x0000007e,0x0000007f,0x00000080,
0x0007002c,0x00000035,0x00000082,0x00000072,
0x00000077,0x0000007c,0x00000081,0x0004002b,
0x00000006,0x00000083,0x00000000,0x0004002b,
0x00000006,0x0000008a,0x3dbe1255,0x0004002b,
0x00000006,0x0000008b,0x3e9f1cb4,0x0004002b,
0x00000006,0x0000008c,0x3e0cd4aa,0x0004002b,
0x00000006,0x0000008d,0x3e1ec882,0x0007002c,
0x0000000c,0x0000008e,0x0000008a,0x0000008b,
0x0000008c,0x0000008d,0x0004002b,0x00000006,
0x0000008f,0xbd9fd105,0x0004002b,0x00000006,
0x00000090,0xbc28af9d,0x0004002b,0x00000006,
0x00000091,0xbe529c86,0x0004002b,0x00000006,
0x00000092,0xbec91cd0,0x0007002c,0x0000000c,
0x00000093,0x0000008f,0x00000090,0x00000091,
0x00000092,0x0004002b,0x00000006,0x00000094,
0xbf9b091a,0x0004002b,0x00000006,0x00000095,
0x3caebb62,0x0004002b,0x00000006,0x00000096,
0x3e0f0197,0x0004002b,0x00000006,0x00000097,
0x3d49879f,0x0007002c,0x0000000c,0x00000098,
0x00000094,0x00000095,0x00000096,0x00000097,
0x0004002b,0x00000006,0x00000099,0xbd691cc8,
0x0004002b,0x00000006,0x0000009a,0xbe2d3fc9,
0x0004002b,0x00000006,0x0000009b,0xbe1d37a4,
0x0004002b,0x00000006,0x0000009c,0x3e8f6805,
0x0007002c,0x0000000c,0x0000009d,0x00000099,
0x0000009a,0x0000009b,0x0000009c,0x0007002c,
0x00000035,0x0000009e,0x0000008e,0x00000093,
0x00000098,0x0000009d,0x0004002b,0x00000006,
0x000000a4,0x3e7f7638,0x0004002b,0x00000006,
0x000000a5,0xbd14b64f,0x0004002b,0x00000006,
0x000000a6,0x3dc470a2,0x0004002b,0x00000006,
0x000000a7,0xbb9d9eac,0x0007002c,0x0000000c,
0x000000a8,0x000000a4,0x000000a5,0x000000a6,
0x000000a7,0x0004002b,0x00000006,0x000000a9,
0xbca064f5,0x0004002b,0x00000006,0x000000aa,
0x3d38cc39,0x0004002b,0x00000006,0x000000ab,
0x3e169b6f,0x0004002b,0x00000006,0x000000ac,
0xbba40940,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000ae,0x3e93cff0,
0x0004002b,0x00000006,0x000000af,0xbea4ec3b,
0x0004002b,0x00000006,0x000000b0,0xbf34ca35,
0x0004002b,0x00000006,0x000000b1,0x3e289e34,
0x0007002c,0x0000000c,0x000000b2,0x000000ae,
0x000000af,0x000000b0,0x000000b1,0x0004002b,
0x00000006,0x000000b3,0xbc1795ec,0x0004002b,
0x00000006,0x000000b4,0xbe0074f3,0x0004002b,
0x00000006,0x000000b5,0x3cb22e78,0x0004002b,
0x00000006,0x000000b6,0xbd8b0501,0x0007002c,
0x0000000c,0x000000b7,0x000000b3,0x000000b4,
0x000000b5,0x000000b6,0x0007002c,0x00000035,
0x000000b8,0x000000a8,0x000000ad,0x000000b2,
0x000000b7,0x0004002b,0x00000006,0x000000c0,
0xbd8c9b62,0x0004002b,0x00000006,0x000000c1,
0xbd29c67e,0x0004002b,0x00000006,0x000000c2,
0xbe3e0cb9,0x0004002b,0x00000006,0x000000c3,
0x3cd88d72,0x0007002c,0x0000000c,0x000000c4,
0x000000c0,0x000000c1,0x000000c2,0x000000c3,
0x0004002b,0x00000006,0x000000c5,0xbcf32f73,
0x0004002b,0x00000006,0x000000c6,0xbd30c7d6,
0x0004002b,0x00000006,0x000000c7,0x3d8917af,
0x0004002b,0x00000006,0x000000c8,0xbdc1c1aa,
0x0007002c,0x0000000c,0x000000c9,0x000000c5,
0x000000c6,0x000000c7,0x000000c8,0x0004002b,
0x00000006,0x000000ca,0xbe50947d,0x0004002b,
0x00000006,0x000000cb,0xbe08d11b,0x0004002b,
0x00000006,0x000000cc,0xbe5707b9,0x0004002b,
0x00000006,0x000000cd,0xbe07fb12,0x0007002c,
0x0000000c,0x000000ce,0x000000ca,0x000000cb,
0x000000cc,0x000000cd,0x0004002b,0x00000006,
0x000000cf,0xbdcd3dcb,0x0004002b,0x00000006,
0x000000d0,0xbd16f7fa,0x0004002b,0x00000006,
0x000000d1,0xbe2a1526,0x0004002b,0x00000006,
0x000000d2,0x3d952750,0x0007002c,0x0000000c,
0x000000d3,0x000000cf,0x000000d0,0x000000d1,
0x000000d2,0x0007002c,0x00000035,0x000000d4,
0x000000c4,0x000000c9,0x000000ce,0x000000d3,
0x0004002b,0x00000006,0x000000da,0x3f0ce91e,
0x0004002b,0x00000006,0x000000db,0x3e967d1c,
0x0004002b,0x00000006,0x000000dc,0x3ef0e202,
0x0004002b,0x00000006,0x000000dd,0x3e5a0ff0,
0x0007002c,0x0000000c,0x000000de,0x000000da,
0x000000db,0x000000dc,0x000000dd,0x0004002b,
0x00000006,0x000000df,0x3dacab13,0x0004002b,
0x00000006,0x000000e0,0xbe4a9c74,0x0004002b,
0x00000006,0x000000e1,0xbea8de7e,0x0004002b,
0x00000006,0x000000e2,0x3e4483e7,0x0007002c,
0x0000000c,0x000000e3,0x000000df,0x000000e0,
0x000000e1,0x000000e2,0x0004002b,0x00000006,
0x000000e4,0x3e4ad3f9,0x0004002b,0x00000006,
0x000000e5,0xbd83fa5e,0x0004002b,0x00000006,
0x000000e6,0x3c155f84,0x0004002b,0x00000006,
0x000000e7,0xbe5995d9,0x0007002c,0x0000000c,
0x000000e8,0x000000e4,0x000000e5,0x000000e6,
0x000000e7,0x0004002b,0x00000006,0x000000e9,
0x3da4c609,0x0004002b,0x00000006,0x000000ea,
0xbde77673,0x0004002b,0x00000006,0x000000eb,
0xbf20aeac,0x0004002b,0x00000006,0x000000ec,
0x3e3e9549,0x0007002c,0x0000000c,0x000000ed,
0x000000e9,0x000000ea,0x000000eb,0x000000ec,
0x0007002c,0x00000035,0x000000ee,0x000000de,
0x000000e3,0x000000e8,0x000000ed,0x0004002b,
0x00000006,0x000000f5,0xbeabe9a2,0x0004002b,
0x00000006,0x000000f6,0x3e565d93,0x0004002b,
0x00000006,0x000000f7,0x3edeff51,0x0004002b,
0x00000006,0x000000f8,0x3e1ec580,0x0007002c,
0x0000000c,0x000000f9,0x000000f5,0x000000f6,
0x000000f7,0x000000f8,0x0004002b,0x00000006,
0x000000fa,0xbf26ae41,0x0004002b,0x00000006,
0x000000fb,0xbe3363e4,0x0004002b,0x00000006,
0x000000fc,0xbe52f615,0x0004002b,0x00000006,
0x000000fd,0xbe2f2000,0x0007002c,0x0000000c,
0x000000fe,0x000000fa,0x000000fb,0x000000fc,
0x000000fd,0x0004002b,0x00000006,0x000000ff,
0xbdf63e4f,0x0004002b,0x00000006,0x00000100,
0xbe800427,0x0004002b,0x00000006,0x00000101,
0x3ddc1b9d,0x0004002b,0x00000006,0x00000102,
0xbe77a5ce,0x0007002c,0x0000000c,0x00000103,
0x000000ff,0x00000100,0x00000101,0x00000102,
0x0004002b,0x00000006,0x00000104,0x3c5b7869,
0x0004002b,0x00000006,0x00000105,0xbd63b0e2,
0x0004002b,0x00000006,0x00000106,0x3e1b1a45,
0x0004002b,0x00000006,0x00000107,0x3e8c3e23,
0x0007002c,0x0000000c,0x00000108,0x00000104,
0x00000105,0x00000106,0x00000107,0x0007002c,
0x00000035,0x00000109,0x000000f9,0x000000fe,
0x00000103,0x00000108,0x0004002b,0x00000006,
0x0000010f,0xbe99ebd4,0x0004002b,0x00000006,
0x00000110,0xbe8a3685,0x0004002b,0x00000006,
0x00000111,0xbe4af54c,0x0004002b,0x00000006,
0x00000112,0xbb57f534,0x0007002c,0x0000000c,
0x00000113,0x0000010f,0x00000110,0x00000111,
0x00000112,0x0004002b,0x00000006,0x00000114,
0x3cfc2d43,0x0004002b,0x00000006,0x00000115,
0x3ebbfc37,0x0004002b,0x00000006,0x00000116,
0xbdc5d745,0x0004002b,0x00000006,0x00000117,
0xbe913b50,0x0007002c,0x0000000c,0x00000118,
0x00000114,0x00000115,0x00000116,0x00000117,
0x0004002b,0x00000006,0x00000119,0x3edc051a,
0x0004002b,0x00000006,0x0000011a,0x3f1e0030,
0x0004002b,0x00000006,0x0000011b,0x3f2c1f06,
0x0004002b,0x00000006,0x0000011c,0x3e8a8084,
0x0007002c,0x0000000c,0x0000011d,0x00000119,
0x0000011a,0x0000011b,0x0000011c,0x0004002b,
0x00000006,0x0000011e,0xbe134403,0x0004002b,
0x00000006,0x0000011f,0xbdb2fbaa,0x0004002b,
0x00000006,0x00000120,0xbf3339f5,0x0004002b,
0x00000006,0x00000121,0xbe522683,0x0007002c,
0x0000000c,0x00000122,0x0000011e,0x0000011f,
0x00000120,0x00000121,0x0007002c,0x00000035,
0x00000123,0x00000113,0x00000118,0x0000011d,
0x00000122,0x0004002b,0x00000006,0x0000012a,
0xbe933386,0x0004002b,0x00000006,0x0000012b,
0xbfcfc04b,0x0004002b,0x00000006,0x0000012c,
0xbf2c6000,0x0004002b,0x00000006,0x0000012d,
0xbf76d8c0,0x0007002c,0x0000000c,0x0000012e,
0x0000012a,0x0000012b,0x0000012c,0x0000012d,
0x0004002b,0x00000006,0x0000012f,0xbe493644,
0x0004002b,0x00000006,0x00000130,0x3e7e8c15,
0x0004002b,0x00000006,0x00000131,0x3dfd5134,
0x0004002b,0x00000006,0x00000132,0xbf9239f9,
0x0007002c,0x0000000c,0x00000133,0x0000012f,
0x00000130,0x00000131,0x00000132,0x0004002b,
0x00000006,0x00000134,0xbd29008e,0x0004002b,
0x00000006,0x00000135,0x3eaeb1cd,0x0004002b,
0x00000006,0x00000136,0x3ecae523,0x0004002b,
0x00000006,0x00000137,0xbe7f0dd4,0x0007002c,
0x0000000c,0x00000138,0x00000134,0x00000135,
0x00000136,0x00000137,0x0004002b,0x00000006,
0x00000139,0xbbbe44f0,0x0004002b,0x00000006,
0x0000013a,0xbeea6e0d,0x0004002b,0x00000006,
0x0000013b,0xbe77a13d,0x0004002b,0x00000006,
0x0000013c,0x3f0928da,0x0007002c,0x0000000c,
0x0000013d,0x00000139,0x0000013a,0x0000013b,
0x0000013c,0x0007002c,0x00000035,0x0000013e,
0x0000012e,0x00000133,0x00000138,0x0000013d,
0x0004002b,0x00000006,0x00000144,0x3bcc58cc,
0x0004002b,0x00000006,0x00000145,0x3e4524c0,
0x0004002b,0x00000006,0x00000146,0x3da8f490,
0x0004002b,0x00000006,0x00000147,0x3d65e5f7,
0x0007002c,0x0000000c,0x00000148,0x00000144,
0x00000145,0x00000146,0x00000147,0x0004002b,
0x00000006,0x00000149,0x3dbe6590,0x0004002b,
0x00000006,0x0000014a,0x3d8f0fee,0x0004002b,
0x00000006,0x0000014b,0x3ec36d64,0x0004002b,
0x00000006,0x0000014c,0x3d21e4cd,0x0007002c,
0x0000000c,0x0000014d,0x00000149,0x0000014a,
0x0000014b,0x0000014c,0x0004002b,0x00000006,
0x0000014e,0xbd935b27,0x0004002b,0x00000006,
0x0000014f,0x3d6763e2,0x0004002b,0x00000006,
0x00000150,0xbe04e4a1,0x0004002b,0x00000006,
0x00000151,0x3dff14af,0x0007002c,0x0000000c,
0x00000152,0x0000014e,0x0000014f,0x00000150,
0x00000151,0x0004002b,0x00000006,0x00000153,
0x3aa1f350,0x0004002b,0x00000006,0x00000154,
0xbdcadb8d,0x0004002b,0x00000006,0x00000155,
0x3ed7bb72,0x0004002b,0x00000006,0x00000156,
0xbe288819,0x0007002c,0x0000000c,0x00000157,
0x00000153,0x00000154,0x00000155,0x00000156,
0x0007002c,0x00000035,0x00000158,0x00000148,
0x0000014d,0x00000152,0x00000157,0x0004002b,
0x00000006,0x0000015f,0xbd7aa62d,0x0004002b,
0x00000006,0x00000160,0xbcb46f7c,0x0004002b,
0x00000006,0x00000161,0xbb862300,0x0004002b,
0x00000006,0x00000162,0xbdd927bf,0x0007002c,
0x0000000c,0x00000163,0x0000015f,0x00000160,
0x00000161,0x00000162,0x0004002b,0x00000006,
0x00000164,0xbd6edc25,0x0004002b,0x00000006,
0x00000165,0xbc8ce68b,0x0004002b,0x00000006,
0x00000166,0x3dd8ca4d,0x0004002b,0x00000006,
0x00000167,0x3e8f02a6,0x0007002c,0x0000000c,
0x00000168,0x00000164,0x00000165,0x00000166,
0x00000167,0x0004002b,0x00000006,0x00000169,
0xbe6f8bcb,0x0004002b,0x00000006,0x0000016a,
0xbe49ef0c,0x0004002b,0x00000006,0x0000016b,
0xbd760a9e,0x0004002b,0x00000006,0x0000016c,
0xbd8c292c,0x0007002c,0x0000000c,0x0000016d,
0x00000169,0x0000016a,0x0000016b,0x0000016c,
0x0004002b,0x00000006,0x0000016e,0x3cc71428,
0x0004002b,0x00000006,0x0000016f,0xbe582cae,
0x0004002b,0x00000006,0x00000170,0xbe513348,
0x0004002b,0x00000006,0x00000171,0x3d94736e,
0x0007002c,0x0000000c,0x00000172,0x0000016e,
0x0000016f,0x00000170,0x00000171,0x0007002c,
0x00000035,0x00000173,0x00000163,0x00000168,
0x0000016d,0x00000172,0x0004002b,0x00000006,
0x00000179,0xbdaab0ad,0x0004002b,0x00000006,
0x0000017a,0xbd5a6846,0x0004002b,0x00000006,
0x0000017b,0x3d9d3ef5,0x0004002b,0x00000006,
0x0000017c,0x3df2251d,0x0007002c,0x0000000c,
0x0000017d,0x00000179,0x0000017a,0x0000017b,
0x0000017c,0x0004002b,0x00000006,0x0000017e,
0xbcb6ed36,0x0004002b,0x00000006,0x0000017f,
0xbd4456f2,0x0004002b,0x00000006,0x00000180,
0xbc44295a,0x0004002b,0x00000006,0x00000181,
0x3d56f790,0x0007002c,0x0000000c,0x00000182,
0x0000017e,0x0000017f,0x00000180,0x00000181,
0x0004002b,0x00000006,0x00000183,0xbd092044,
0x0004002b,0x00000006,0x00000184,0x3d93406c,
0x0004002b,0x00000006,0x00000185,0x3d3418c4,
0x0004002b,0x00000006,0x00000186,0x3d42a25d,
0x0007002c,0x0000000c,0x00000187,0x00000183,
0x00000184,0x00000185,0x00000186,0x0004002b,
0x00000006,0x00000188,0x3d9c87c7,0x0004002b,
0x00000006,0x00000189,0x3c0e1267,0x0004002b,
0x00000006,0x0000018a,0xbe2e2709,0x0004002b,
0x00000006,0x0000018b,0x3d86a04c,0x0007002c,
0x0000000c,0x0000018c,0x00000188,0x00000189,
0x0000018a,0x0000018b,0x0007002c,0x00000035,
0x0000018d,0x0000017d,0x00000182,0x00000187,
0x0000018c,0x0004002b,0x00000006,0x00000194,
0x3e0e827d,0x0004002b,0x00000006,0x00000195,
0x3d977453,0x0004002b,0x00000006,0x00000196,
0x3d67bfa6,0x0004002b,0x00000006,0x00000197,
0xbd304701,0x0007002c,0x0000000c,0x00000198,
0x00000194,0x00000195,0x00000196,0x00000197,
0x0004002b,0x00000006,0x00000199,0x3dc124cb,
0x0004002b,0x00000006,0x0000019a,0x3c2738d5,
0x0004002b,0x00000006,0x0000019b,0x3c45e934,
0x0004002b,0x00000006,0x0000019c,0xbdac4c8f,
0x0007002c,0x0000000c,0x0000019d,0x00000199,
0x0000019a,0x0000019b,0x0000019c,0x0004002b,
0x00000006,0x0000019e,0x3e2119b4,0x0004002b,
0x00000006,0x0000019f,0x3c8693e7,0x0004002b,
0x00000006,0x000001a0,0x3dca83c4,0x0004002b,
0x00000006,0x000001a1,0xbe127eac,0x0007002c,
0x0000000c,0x000001a2,0x0000019e,0x0000019f,
0x000001a0,0x000001a1,0x0004002b,0x00000006,
0x000001a3,0xbd6a9f5d,0x0004002b,0x00000006,
0x000001a4,0xbdace93e,0x0004002b,0x00000006,
0x000001a5,0x3d7e97e1,0x0004002b,0x00000006,
0x000001a6,0x3dbd31ad,0x0007002c,0x0000000c,
0x000001a7,0x000001a3,0x000001a4,0x000001a5,
0x000001a6,0x0007002c,0x00000035,0x000001a8,
0x00000198,0x0000019d,0x000001a2,0x000001a7,
0x0004002b,0x00000006,0x000001ae,0xbdfa7e14,
0x0004002b,0x00000006,0x000001af,0xbe7a0dbd,
0x0004002b,0x00000006,0x000001b0,0xbe76d9c4,
0x0004002b,0x00000006,0x000001b1,0xbc857a19,
0x0007002c,0x0000000c,0x000001b2,0x000001ae,
0x000001af,0x000001b0,0x000001b1,0x0004002b,
0x00000006,0x000001b3,0x3d8e73c8,0x0004002b,
0x00000006,0x000001b4,0xbb3b5382,0x0004002b,
0x00000006,0x000001b5,0xbbc2b2cc,0x0004002b,
0x00000006,0x000001b6,0x3d927733,0x0007002c,
0x0000000c,0x000001b7,0x000001b3,0x000001b4,
0x000001b5,0x000001b6,0x0004002b,0x00000006,
0x000001b8,0xbd88e839,0x0004002b,0x00000006,
0x000001b9,0xbe198e64,0x0004002b,0x00000006,
0x000001ba,0x3db22913,0x0004002b,0x00000006,
0x000001bb,0x3d62c6b7,0x0007002c,0x0000000c,
0x000001bc,0x000001b8,0x000001b9,0x000001ba,
0x000001bb,0x0004002b,0x00000006,0x000001bd,
0x3e8bc0f8,0x0004002b,0x00000006,0x000001be,
0x3e0c4ac4,0x0004002b,0x00000006,0x000001bf,
0xbe034bac,0x0004002b,0x00000006,0x000001c0,
0xbe14aba4,0x0007002c,0x0000000c,0x000001c1,
0x000001bd,0x000001be,0x000001bf,0x000001c0,
0x0007002c,0x00000035,0x000001c2,0x000001b2,
0x000001b7,0x000001bc,0x000001c1,0x0004002b,
0x00000006,0x000001c9,0x3e086454,0x0004002b,
0x00000006,0x000001ca,0x3b0a25ce,0x0004002b,
0x00000006,0x000001cb,0xbde4b50c,0x0004002b,
0x00000006,0x000001cc,0xbed56eb3,0x0007002c,
0x0000000c,0x000001cd,0x000001c9,0x000001ca,
0x000001cb,0x000001cc,0x0004002b,0x00000006,
0x000001ce,0x3d5aff1c,0x0004002b,0x00000006,
0x000001cf,0x3b781fdc,0x0004002b,0x00000006,
0x000001d0,0xbd15f0cb,0x0004002b,0x00000006,
0x000001d1,0x3dd691c0,0x0007002c,0x0000000c,
0x000001d2,0x000001ce,0x000001cf,0x000001d0,
0x000001d1,0x0004002b,0x00000006,0x000001d3,
0x3e18b482,0x0004002b,0x00000006,0x000001d4,
0x3da0393c,0x0004002b,0x00000006,0x000001d5,
0x3dc289db,0x0004002b,0x00000006,0x000001d6,
0xbdedc10c,0x0007002c,0x0000000c,0x000001d7,
0x000001d3,0x000001d4,0x000001d5,0x000001d6,
0x0004002b,0x00000006,0x000001d8,0xbdd8803b,
0x0004002b,0x00000006,0x000001d9,0xbe8a39c1,
0x0004002b,0x00000006,0x000001da,0xbdf46395,
0x0004002b,0x00000006,0x000001db,0x3e5b5f39,
0x0007002c,0x0000000c,0x000001dc,0x000001d8,
0x000001d9,0x000001da,0x000001db,0x0007002c,
0x00000035,0x000001dd,0x000001cd,0x000001d2,
0x000001d7,0x000001dc,0x0004002b,0x00000006,
0x000001e3,0x3b88336c,0x0004002b,0x00000006,
0x000001e4,0xbdda36e1,0x0004002b,0x00000006,
0x000001e5,0xbd80f44d,0x0004002b,0x00000006,
0x000001e6,0xbdea72dc,0x0007002c,0x0000000c,
0x000001e7,0x000001e3,0x000001e4,0x000001e5,
0x000001e6,0x0004002b,0x00000006,0x000001e8,
0x3d029db0,0x0004002b,0x00000006,0x000001e9,
0xbd66686d,0x0004002b,0x00000006,0x000001ea,
0x3b8e4969,0x0004002b,0x00000006,0x000001eb,
0x3cb9350a,0x0007002c,0x0000000c,0x000001ec,
0x000001e8,0x000001e9,0x000001ea,0x000001eb,
0x0004002b,0x00000006,0x000001ed,0xbe151d62,
0x0004002b,0x00000006,0x000001ee,0xbe759f55,
0x0004002b,0x00000006,0x000001ef,0xbe866703,
0x0004002b,0x00000006,0x000001f0,0xbd918521,
0x0007002c,0x0000000c,0x000001f1,0x000001ed,
0x000001ee,0x000001ef,0x000001f0,0x0004002b,
0x00000006,0x000001f2,0x3bde822d,0x0004002b,
0x00000006,0x000001f3,0x3af30fa3,0x0004002b,
0x00000006,0x000001f4,0x3dd0c33d,0x0004002b,
0x00000006,0x000001f5,0xbc987b1f,0x0007002c,
0x0000000c,0x000001f6,0x000001f2,0x000001f3,
0x000001f4,0x000001f5,0x0007002c,0x00000035,
0x000001f7,0x000001e7,0x000001ec,0x000001f1,
0x000001f6,0x0004002b,0x00000006,0x000001fe,
0x3d9605c9,0x0004002b,0x00000006,0x000001ff,
0x3e1b5392,0x0004002b,0x00000006,0x00000200,
0x3d6da6f6,0x0004002b,0x00000006,0x00000201,
0x3e499f8d,0x0007002c,0x0000000c,0x00000202,
0x000001fe,0x000001ff,0x00000200,0x00000201,
0x0004002b,0x00000006,0x00000203,0xbbda4c82,
0x0004002b,0x00000006,0x00000204,0xbe239e79,
0x0004002b,0x00000006,0x00000205,0xbdcadfff,
0x0004002b,0x00000006,0x00000206,0xbdd8ec01,
0x0007002c,0x0000000c,0x00000207,0x00000203,
0x00000204,0x00000205,0x00000206,0x0004002b,
0x00000006,0x00000208,0x3d93251b,0x0004002b,
0x00000006,0x00000209,0xbe639bc3,0x0004002b,
0x00000006,0x0000020a,0xbe2b9762,0x0004002b,
0x00000006,0x0000020b,0xbe199a0d,0x0007002c,
0x0000000c,0x0000020c,0x00000208,0x00000209,
0x0000020a,0x0000020b,0x0004002b,0x00000006,
0x0000020d,0xbd68f8d0,0x0004002b,0x00000006,
0x0000020e,0xbd6eb4b2,0x0004002b,0x00000006,
0x0000020f,0xbdacf8b6,0x0004002b,0x00000006,
0x00000210,0xbcd7aaf8,0x0007002c,0x0000000c,
0x00000211,0x0000020d,0x0000020e,0x0000020f,
0x00000210,0x0007002c,0x00000035,0x00000212,
0x00000202,0x00000207,0x0000020c,0x00000211,
0x0007002c,0x0000000c,0x00000219,0x00000083,
0x00000083,0x00000083,0x00000083,0x0004002b,
0x00000006,0x0000021b,0xbe7bdb15,0x0004002b,
0x00000006,0x0000021c,0x3f419fec,0x0004002b,
0x00000006,0x0000021d,0xbd9083b1,0x0004002b,
0x00000006,0x0000021e,0xbc1b5aa0,0x0007002c,
0x0000000c,0x0000021f,0x0000021b,0x0000021c,
0x0000021d,0x0000021e,0x00040015,0x00000227,
0x00000020,0x00000000,0x00040017,0x00000228,
0x00000227,0x00000003,0x00040020,0x00000229,
0x00000001,0x00000228,0x0004003b,0x00000229,
0x0000022a,0x00000001,0x00040017,0x0000022b,
0x00000227,0x00000002,0x00020014,0x0000022f,
0x0004002b,0x00000227,0x00000230,0x00000000,
0x00040020,0x00000234,0x00000009,0x00000016,
0x0004002b,0x00000227,0x0000023b,0x00000001,
0x00090019,0x00000245,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x00000246,0x00000000,
0x00000245,0x0004003b,0x00000246,0x00000247,
0x00000000,0x0004002b,0x00000227,0x0000024b,
0x00000010,0x0006002c,0x00000228,0x0000024c,
0x0000024b,0x0000024b,0x0000023b,0x0004002b,
0x00000016,0x000003b8,0xffffffff,0x0005002c,
0x00000017,0x000003b9,0x000003b8,0x000003b8,
0x0005002c,0x00000017,0x000003ba,0x00000026,
0x00000026,0x0005002c,0x00000017,0x000003bb,
0x000003b8,0x0000001e,0x0005002c,0x00000017,
0x000003bc,0x000003b8,0x00000026,0x0005002c,
0x00000017,0x000003bd,0x0000001e,0x000003b8,
0x0005002c,0x00000017,0x000003be,0x0000001e,
0x00000026,0x0005002c,0x00000017,0x000003bf,
0x00000026,0x000003b8,0x0005002c,0x00000017,
0x000003c0,0x00000026,0x0000001e,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x000300f7,0x0000024e,
0x00000000,0x000300fb,0x00000230,0x0000024f,
0x000200f8,0x0000024f,0x0004003d,0x00000228,
0x0000022c,0x0000022a,0x0007004f,0x0000022b,
0x0000022d,0x0000022c,0x0000022c,0x00000000,
0x00000001,0x0004007c,0x00000017,0x0000022e,
0x0000022d,0x00050051,0x00000016,0x00000233,
0x0000022e,0x00000000,0x00060041,0x00000234,
0x00000235,0x00000022,0x0000001e,0x00000230,
0x0004003d,0x00000016,0x00000236,0x00000235,
0x000500af,0x0000022f,0x00000237,0x00000233,
0x00000236,0x000400a8,0x0000022f,0x00000238,
0x00000237,0x000300f7,0x0000023a,0x00000000,
0x000400fa,0x00000238,0x00000239,0x0000023a,
0x000200f8,0x00000239,0x00050051,0x00000016,
0x0000023d,0x0000022e,0x00000001,0x00060041,
0x00000234,0x0000023e,0x00000022,0x0000001e,
0x0000023b,0x0004003d,0x00000016,0x0000023f,
0x0000023e,0x000500af,0x0000022f,0x00000240,
0x0000023d,0x0000023f,0x000200f9,0x0000023a,
0x000200f8,0x0000023a,0x000700f5,0x0000022f,
0x00000241,0x00000237,0x0000024f,0x00000240,
0x00000239,0x000300f7,0x00000243,0x00000000,
0x000400fa,0x00000241,0x00000242,0x00000243,
0x000200f8,0x00000242,0x000200f9,0x0000024e,
0x000200f8,0x00000243,0x0004003d,0x00000245,
0x00000248,0x00000247,0x0004003d,0x00000008,
0x000002ba,0x0000004b,0x00050080,0x00000017,
0x000002be,0x0000022e,0x000003b9,0x00050041,
0x00000023,0x000002bf,0x00000022,0x0000001e,
0x0004003d,0x00000017,0x000002c0,0x000002bf,
0x00050082,0x00000017,0x000002c2,0x000002c0,
0x000003ba,0x0008000c,0x00000017,0x000002c3,
0x00000001,0x0000002d,0x000002be,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x000002c4,
0x000002ba,0x0007005f,0x0000000c,0x000002c5,
0x000002c4,0x000002c3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000026a,0x0000004a,
0x000002c5,0x00050081,0x0000000c,0x0000026c,
0x00000034,0x0000026a,0x0004003d,0x00000008,
0x000002c8,0x00000068,0x00040064,0x00000007,
0x000002d2,0x000002c8,0x0007005f,0x0000000c,
0x000002d3,0x000002d2,0x000002c3,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000026e,
0x00000067,0x000002d3,0x00050081,0x0000000c,
0x00000270,0x0000026c,0x0000026e,0x0004003d,
0x00000008,0x000002d6,0x0000004b,0x00050080,
0x00000017,0x000002da,0x0000022e,0x000003bb,
0x0008000c,0x00000017,0x000002df,0x00000001,
0x0000002d,0x000002da,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000002e0,0x000002d6,
0x0007005f,0x0000000c,0x000002e1,0x000002e0,
0x000002df,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000272,0x00000082,0x000002e1,
0x00050081,0x0000000c,0x00000274,0x00000270,
0x00000272,0x0004003d,0x00000008,0x000002e4,
0x00000068,0x00040064,0x00000007,0x000002ee,
0x000002e4,0x0007005f,0x0000000c,0x000002ef,
0x000002ee,0x000002df,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x00000276,0x0000009e,
0x000002ef,0x00050081,0x0000000c,0x00000278,
0x00000274,0x00000276,0x0004003d,0x00000008,
0x000002f2,0x0000004b,0x00050080,0x00000017,
0x000002f6,0x0000022e,0x000003bc,0x0008000c,
0x00000017,0x000002fb,0x00000001,0x0000002d,
0x000002f6,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x000002fc,0x000002f2,0x0007005f,
0x0000000c,0x000002fd,0x000002fc,0x000002fb,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000027a,0x000000b8,0x000002fd,0x00050081,
0x0000000c,0x0000027c,0x00000278,0x0000027a,
0x0004003d,0x00000008,0x00000300,0x00000068,
0x00040064,0x00000007,0x0000030a,0x00000300,
0x0007005f,0x0000000c,0x0000030b,0x0000030a,
0x000002fb,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000027e,0x000000d4,0x0000030b,
0x00050081,0x0000000c,0x00000280,0x0000027c,
0x0000027e,0x0004003d,0x00000008,0x0000030e,
0x0000004b,0x00050080,0x00000017,0x00000312,
0x0000022e,0x000003bd,0x0008000c,0x00000017,
0x00000317,0x00000001,0x0000002d,0x00000312,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x00000318,0x0000030e,0x0007005f,0x0000000c,
0x00000319,0x00000318,0x00000317,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x00000282,
0x000000ee,0x00000319,0x00050081,0x0000000c,
0x00000284,0x00000280,0x00000282,0x0004003d,
0x00000008,0x0000031c,0x00000068,0x00040064,
0x00000007,0x00000326,0x0000031c,0x0007005f,
0x0000000c,0x00000327,0x00000326,0x00000317,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000286,0x00000109,0x00000327,0x00050081,
0x0000000c,0x00000288,0x00000284,0x00000286,
0x0004003d,0x00000008,0x0000032a,0x0000004b,
0x0008000c,0x00000017,0x00000333,0x00000001,
0x0000002d,0x0000022e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x00000334,0x0000032a,
0x0007005f,0x0000000c,0x00000335,0x00000334,
0x00000333,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000028a,0x00000123,0x00000335,
0x00050081,0x0000000c,0x0000028c,0x00000288,
0x0000028a,0x0004003d,0x00000008,0x00000338,
0x00000068,0x00040064,0x00000007,0x00000342,
0x00000338,0x0007005f,0x0000000c,0x00000343,
0x00000342,0x00000333,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000028e,0x0000013e,
0x00000343,0x00050081,0x0000000c,0x00000290,
0x0000028c,0x0000028e,0x0004003d,0x00000008,
0x00000346,0x0000004b,0x00050080,0x00000017,
0x0000034a,0x0000022e,0x000003be,0x0008000c,
0x00000017,0x0000034f,0x00000001,0x0000002d,
0x0000034a,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x00000350,0x00000346,0x0007005f,
0x0000000c,0x00000351,0x00000350,0x0000034f,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000292,0x00000158,0x00000351,0x00050081,
0x0000000c,0x00000294,0x00000290,0x00000292,
0x0004003d,0x00000008,0x00000354,0x00000068,
0x00040064,0x00000007,0x0000035e,0x00000354,
0x0007005f,0x0000000c,0x0000035f,0x0000035e,
0x0000034f,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000296,0x00000173,0x0000035f,
0x00050081,0x0000000c,0x00000298,0x00000294,
0x00000296,0x0004003d,0x00000008,0x00000362,
0x0000004b,0x00050080,0x00000017,0x00000366,
0x0000022e,0x000003bf,0x0008000c,0x00000017,
0x0000036b,0x00000001,0x0000002d,0x00000366,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x0000036c,0x00000362,0x0007005f,0x0000000c,
0x0000036d,0x0000036c,0x0000036b,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000029a,
0x0000018d,0x0000036d,0x00050081,0x0000000c,
0x0000029c,0x00000298,0x0000029a,0x0004003d,
0x00000008,0x00000370,0x00000068,0x00040064,
0x00000007,0x0000037a,0x00000370,0x0007005f,
0x0000000c,0x0000037b,0x0000037a,0x0000036b,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000029e,0x000001a8,0x0000037b,0x00050081,
0x0000000c,0x000002a0,0x0000029c,0x0000029e,
0x0004003d,0x00000008,0x0000037e,0x0000004b,
0x00050080,0x00000017,0x00000382,0x0000022e,
0x000003c0,0x0008000c,0x00000017,0x00000387,
0x00000001,0x0000002d,0x00000382,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x00000388,
0x0000037e,0x0007005f,0x0000000c,0x00000389,
0x00000388,0x00000387,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002a2,0x000001c2,
0x00000389,0x00050081,0x0000000c,0x000002a4,
0x000002a0,0x000002a2,0x0004003d,0x00000008,
0x0000038c,0x00000068,0x00040064,0x00000007,
0x00000396,0x0000038c,0x0007005f,0x0000000c,
0x00000397,0x00000396,0x00000387,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x000002a6,
0x000001dd,0x00000397,0x00050081,0x0000000c,
0x000002a8,0x000002a4,0x000002a6,0x0004003d,
0x00000008,0x0000039a,0x0000004b,0x00050080,
0x00000017,0x0000039e,0x0000022e,0x000003ba,
0x0008000c,0x00000017,0x000003a3,0x00000001,
0x0000002d,0x0000039e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000003a4,0x0000039a,
0x0007005f,0x0000000c,0x000003a5,0x000003a4,
0x000003a3,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x000002aa,0x000001f7,0x000003a5,
0x00050081,0x0000000c,0x000002ac,0x000002a8,
0x000002aa,0x0004003d,0x00000008,0x000003a8,
0x00000068,0x00040064,0x00000007,0x000003b2,
0x000003a8,0x0007005f,0x0000000c,0x000003b3,
0x000003b2,0x000003a3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002ae,0x00000212,
0x000003b3,0x00050081,0x0000000c,0x000002b0,
0x000002ac,0x000002ae,0x0007000c,0x0000000c,
0x000002b2,0x00000001,0x00000028,0x000002b0,
0x00000219,0x0007000c,0x0000000c,0x000002b4,
0x00000001,0x00000025,0x000002b0,0x00000219,
0x00050085,0x0000000c,0x000002b5,0x0000021f,
0x000002b4,0x00050081,0x0000000c,0x000002b6,
0x000002b2,0x000002b5,0x00040063,0x00000248,
0x0000022e,0x000002b6,0x000200f9,0x0000024e,
0x000200f8,0x0000024e,0x000100fd,0x00010038}
+46
View File
@@ -0,0 +1,46 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: mapping 2_2. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define MODEL21_texOff(o) fetch_(in0, vec2(o))
#define MODEL22_texOff(o) fetch_(in1, vec2(o))
vec4 hook()
{
vec4 res = vec4(-0.0448397286236286,-0.1649267971515656,-0.1192543581128120,-0.0061073559336364);
res += mat4(0.0724840760231018,-0.0480341166257858,-0.1082391515374184,-0.1447021961212158,0.0723197236657143,0.0481830574572086,0.0009448126656935,0.0353565886616707,-0.0653375908732414,0.0029647622723132,-0.0016588598955423,-0.2075651884078979,0.0403469167649746,0.3929971158504486,0.0342363268136978,0.1427230089902878) * MODEL21_texOff(vec2(-1,-1));
res += mat4(-0.0743464827537537,0.1844420731067657,0.0256296340376139,-0.2808582782745361,0.0351609662175179,0.3277008235454559,-0.0205841138958931,-0.5355809330940247,0.0681906566023827,0.2058052271604538,-0.0479847639799118,-0.3735262751579285,-0.0261550359427929,-0.1148884072899818,-0.2329017966985703,0.0728458985686302) * MODEL22_texOff(vec2(-1,-1));
res += mat4(-0.1236097738146782,0.1251334398984909,-0.1339431256055832,0.0198749266564846,-0.1325920224189758,-2.2431972026824951,-0.0680834427475929,-0.5671764612197876,-0.3431925177574158,-0.0983135104179382,-0.2207138091325760,-0.2374879121780396,0.0127309206873178,1.3076044321060181,0.0848151743412018,-0.1928595900535583) * MODEL21_texOff(vec2(-1,0));
res += mat4(-0.0471093133091927,-0.1513628512620926,-0.0134263765066862,-0.1519252359867096,-0.5260242223739624,0.2291621714830399,0.4088975787162781,-0.4315340518951416,0.0933236032724380,-1.0386694669723511,0.0015958193689585,-0.2737887501716614,-0.0246253963559866,-0.2722961604595184,-0.1770633459091187,-0.2291279733181000) * MODEL22_texOff(vec2(-1,0));
res += mat4(-0.0017552347853780,0.1903935521841049,-0.0740704238414764,-0.0917679518461227,0.0323882810771465,-0.3029108047485352,0.0532565414905548,-0.0651542618870735,0.4868686199188232,0.8539272546768188,0.4151960313320160,0.2619662582874298,-0.0413270294666290,0.1404227763414383,0.1027320474386215,0.3274228572845459) * MODEL21_texOff(vec2(-1,1));
res += mat4(0.1828346252441406,0.0274682324379683,-0.1169882863759995,0.0327291004359722,0.1786244213581085,-0.6569546461105347,-0.0609031207859516,-0.1676601022481918,-0.1481092721223831,0.2889067530632019,0.1246089115738869,0.2203597426414490,-0.0366856977343559,0.1539470851421356,0.0069492300972342,-0.1544002443552017) * MODEL22_texOff(vec2(-1,1));
res += mat4(0.2073992937803268,-0.0717074573040009,-0.0196173377335072,-0.0956910699605942,0.0728898122906685,0.0484567955136299,0.3063069283962250,-0.3200540542602539,0.0291527546942234,-0.0265460256487131,0.1168476045131683,-0.2479970753192902,0.1224220171570778,0.0745823010802269,0.1868897676467896,-0.1958049237728119) * MODEL21_texOff(vec2(0,-1));
res += mat4(0.0019954447634518,-0.0225235987454653,0.0812198966741562,0.0295672398060560,-0.2016931176185608,-0.2239151000976562,-0.2481262385845184,-0.2381946444511414,-0.0520484372973442,-0.1200495883822441,0.2121954560279846,-0.1573531329631805,-0.0198472067713737,0.1001087054610252,-0.1084884032607079,-0.3126969039440155) * MODEL22_texOff(vec2(0,-1));
res += mat4(0.3838330209255219,0.1678779572248459,0.6496244072914124,0.3783606290817261,-0.2198582738637924,-0.2351343184709549,-0.2852248847484589,0.6310021877288818,0.8083020448684692,0.0039323624223471,-0.0901831910014153,0.0797894075512886,-0.2271467447280884,0.7082978487014771,0.1513756662607193,0.2188975960016251) * MODEL21_texOff(vec2(0,0));
res += mat4(-0.2871031761169434,0.2316448241472244,0.4947948157787323,0.3308620452880859,-0.0623455122113228,-0.1314185708761215,-0.2664661705493927,0.8725078701972961,0.4541083276271820,0.1433589160442352,-1.1269453763961792,0.6427971124649048,-0.1016561388969421,0.3418317139148712,-0.0991155728697777,-1.0508837699890137) * MODEL22_texOff(vec2(0,0));
res += mat4(-0.2179604172706604,0.1258949041366577,-0.1155700981616974,-0.0536149404942989,-0.0140614463016391,-0.0091438721865416,-0.0501774959266186,-0.3570724725723267,-0.5832386016845703,0.2004123181104660,0.2986239194869995,-0.8139168024063110,0.0142666567116976,0.0681498944759369,0.1293468028306961,-0.1001938357949257) * MODEL21_texOff(vec2(0,1));
res += mat4(0.1952836811542511,-0.3092494010925293,0.3063779771327972,0.1934849917888641,0.0746696740388870,-0.3533902466297150,-0.1269576102495193,-0.2237875163555145,0.2470717132091522,-0.2640363574028015,-0.2862776815891266,0.1740108281373978,-0.0963631942868233,0.2631850540637970,0.0400718413293362,-0.3590607047080994) * MODEL22_texOff(vec2(0,1));
res += mat4(-0.5299927592277527,0.0979989692568779,0.1666737496852875,-0.1547524333000183,-0.0043443185277283,0.1540203243494034,0.0594348423182964,-0.0167275425046682,-0.1043610796332359,0.0504250898957253,0.0456700921058655,0.2525034546852112,0.2241353541612625,-0.1678503304719925,0.1532667279243469,0.2901742458343506) * MODEL21_texOff(vec2(1,-1));
res += mat4(0.0998796448111534,0.0385462641716003,-0.0762400180101395,-0.1255892217159271,0.0281430184841156,-0.0304958485066891,-0.1440480053424835,-0.1001605167984962,-0.2257689833641052,0.2056092917919159,0.0248535349965096,-0.1383949518203735,-0.0951708629727364,0.0997417271137238,0.0275330394506454,-0.5728432536125183) * MODEL22_texOff(vec2(1,-1));
res += mat4(0.4256163835525513,0.1745115518569946,-0.2409395426511765,0.3139856457710266,-0.0036795330233872,0.1819283962249756,-0.0864531323313713,0.0102691333740950,-0.3397279977798462,0.1107075437903404,-0.0035228815395385,-0.2207705229520798,-0.1779139339923859,-0.2106117755174637,0.0352664291858673,0.3615589439868927) * MODEL21_texOff(vec2(1,0));
res += mat4(-0.0345224253833294,-0.0669926702976227,0.0907212942838669,-0.3758732676506042,-0.0452554710209370,-0.1134464666247368,-0.0358871109783649,-0.1858227252960205,-0.0233245138078928,-0.0495684742927551,0.1976234614849091,-0.1165761798620224,-0.0340447537600994,0.1095624342560768,0.0110175255686045,-0.8269239664077759) * MODEL22_texOff(vec2(1,0));
res += mat4(-0.1379280686378479,0.1004267781972885,0.0723998174071312,-0.1510958224534988,0.0610648579895496,0.0451720170676708,-0.0231927260756493,-0.0251553766429424,0.2306085377931595,0.1033207178115845,-0.1316205114126205,0.1130664870142937,-0.0458516106009483,-0.1152514070272446,-0.0088650323450565,-0.0214479379355907) * MODEL21_texOff(vec2(1,1));
res += mat4(-0.0545783303678036,-0.0620098188519478,0.0347074456512928,0.1096799224615097,0.0036664425861090,-0.0413107499480247,0.1443250179290771,-0.1161036714911461,-0.0061624986119568,-0.0252977479249239,0.3230019211769104,-0.2536626160144806,-0.0565439648926258,0.0827583819627762,-0.0071726376190782,-0.1983329951763153) * MODEL22_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.6312188506126404,-0.1215368881821632,0.2487443536520004,0.4051703512668610) * min(res, vec4(0.0));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+703
View File
@@ -0,0 +1,703 @@
{0x07230203,0x00010000,0x000d000b,0x000003c1,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000022a,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000022a,0x0000000b,0x0000001c,
0x00030047,0x00000247,0x00000019,0x00040047,
0x00000247,0x00000021,0x00000000,0x00040047,
0x00000247,0x00000022,0x00000000,0x00040047,
0x0000024c,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0xbd37a9dd,0x0004002b,
0x00000006,0x00000031,0xbe28e292,0x0004002b,
0x00000006,0x00000032,0xbdf43ba1,0x0004002b,
0x00000006,0x00000033,0xbbc82037,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0x3d947288,0x0004002b,0x00000006,
0x00000037,0xbd44bf6c,0x0004002b,0x00000006,
0x00000038,0xbdddac7d,0x0004002b,0x00000006,
0x00000039,0xbe142cd0,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0x3d941c5d,0x0004002b,0x00000006,0x0000003c,
0x3d455b99,0x0004002b,0x00000006,0x0000003d,
0x3a77ad4e,0x0004002b,0x00000006,0x0000003e,
0x3d10d212,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0xbd85cfb7,
0x0004002b,0x00000006,0x00000041,0x3b424c75,
0x0004002b,0x00000006,0x00000042,0xbad96e1a,
0x0004002b,0x00000006,0x00000043,0xbe548bf8,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0x3d2542cf,0x0004002b,
0x00000006,0x00000046,0x3ec936eb,0x0004002b,
0x00000006,0x00000047,0x3d0c3b64,0x0004002b,
0x00000006,0x00000048,0x3e1225fb,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x00000053,
0xbd9842f8,0x0004002b,0x00000006,0x00000054,
0x3e3cde62,0x0004002b,0x00000006,0x00000055,
0x3cd1f53d,0x0004002b,0x00000006,0x00000056,
0xbe8fcca8,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0x3d1004f2,
0x0004002b,0x00000006,0x00000059,0x3ea7c867,
0x0004002b,0x00000006,0x0000005a,0xbca8a004,
0x0004002b,0x00000006,0x0000005b,0xbf091bd5,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0x3d8ba78b,0x0004002b,
0x00000006,0x0000005e,0x3e52be9b,0x0004002b,
0x00000006,0x0000005f,0xbd448bac,0x0004002b,
0x00000006,0x00000060,0xbebf3ed6,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0xbcd64316,0x0004002b,0x00000006,
0x00000063,0xbdeb4a9d,0x0004002b,0x00000006,
0x00000064,0xbe6e7dcf,0x0004002b,0x00000006,
0x00000065,0x3d95303b,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004002b,0x00000006,0x0000006e,0xbdfd271f,
0x0004002b,0x00000006,0x0000006f,0x3e0022fb,
0x0004002b,0x00000006,0x00000070,0xbe092863,
0x0004002b,0x00000006,0x00000071,0x3ca2d0be,
0x0007002c,0x0000000c,0x00000072,0x0000006e,
0x0000006f,0x00000070,0x00000071,0x0004002b,
0x00000006,0x00000073,0xbe07c634,0x0004002b,
0x00000006,0x00000074,0xc00f908b,0x0004002b,
0x00000006,0x00000075,0xbd8b6f55,0x0004002b,
0x00000006,0x00000076,0xbf11327a,0x0007002c,
0x0000000c,0x00000077,0x00000073,0x00000074,
0x00000075,0x00000076,0x0004002b,0x00000006,
0x00000078,0xbeafb6ee,0x0004002b,0x00000006,
0x00000079,0xbdc95898,0x0004002b,0x00000006,
0x0000007a,0xbe6202cd,0x0004002b,0x00000006,
0x0000007b,0xbe733008,0x0007002c,0x0000000c,
0x0000007c,0x00000078,0x00000079,0x0000007a,
0x0000007b,0x0004002b,0x00000006,0x0000007d,
0x3c50955a,0x0004002b,0x00000006,0x0000007e,
0x3fa75f95,0x0004002b,0x00000006,0x0000007f,
0x3dadb394,0x0004002b,0x00000006,0x00000080,
0xbe457cfc,0x0007002c,0x0000000c,0x00000081,
0x0000007d,0x0000007e,0x0000007f,0x00000080,
0x0007002c,0x00000035,0x00000082,0x00000072,
0x00000077,0x0000007c,0x00000081,0x0004002b,
0x00000006,0x00000083,0x00000000,0x0004002b,
0x00000006,0x0000008a,0xbd40f5b2,0x0004002b,
0x00000006,0x0000008b,0xbe1afedd,0x0004002b,
0x00000006,0x0000008c,0xbc5bfa4e,0x0004002b,
0x00000006,0x0000008d,0xbe1b924a,0x0007002c,
0x0000000c,0x0000008e,0x0000008a,0x0000008b,
0x0000008c,0x0000008d,0x0004002b,0x00000006,
0x0000008f,0xbf06a986,0x0004002b,0x00000006,
0x00000090,0x3e6aa97d,0x0004002b,0x00000006,
0x00000091,0x3ed15b06,0x0004002b,0x00000006,
0x00000092,0xbedcf208,0x0007002c,0x0000000c,
0x00000093,0x0000008f,0x00000090,0x00000091,
0x00000092,0x0004002b,0x00000006,0x00000094,
0x3dbf2072,0x0004002b,0x00000006,0x00000095,
0xbf84f31f,0x0004002b,0x00000006,0x00000096,
0x3ad12ad0,0x0004002b,0x00000006,0x00000097,
0xbe8c2e0a,0x0007002c,0x0000000c,0x00000098,
0x00000094,0x00000095,0x00000096,0x00000097,
0x0004002b,0x00000006,0x00000099,0xbcc9bb33,
0x0004002b,0x00000006,0x0000009a,0xbe8b6a67,
0x0004002b,0x00000006,0x0000009b,0xbe355018,
0x0004002b,0x00000006,0x0000009c,0xbe6aa086,
0x0007002c,0x0000000c,0x0000009d,0x00000099,
0x0000009a,0x0000009b,0x0000009c,0x0007002c,
0x00000035,0x0000009e,0x0000008e,0x00000093,
0x00000098,0x0000009d,0x0004002b,0x00000006,
0x000000a4,0xbae60fe8,0x0004002b,0x00000006,
0x000000a5,0x3e42f687,0x0004002b,0x00000006,
0x000000a6,0xbd97b23c,0x0004002b,0x00000006,
0x000000a7,0xbdbbf0d6,0x0007002c,0x0000000c,
0x000000a8,0x000000a4,0x000000a5,0x000000a6,
0x000000a7,0x0004002b,0x00000006,0x000000a9,
0x3d04a993,0x0004002b,0x00000006,0x000000aa,
0xbe9b1720,0x0004002b,0x00000006,0x000000ab,
0x3d5a2388,0x0004002b,0x00000006,0x000000ac,
0xbd856f99,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000ae,0x3ef946d8,
0x0004002b,0x00000006,0x000000af,0x3f5a9afa,
0x0004002b,0x00000006,0x000000b0,0x3ed49493,
0x0004002b,0x00000006,0x000000b1,0x3e862071,
0x0007002c,0x0000000c,0x000000b2,0x000000ae,
0x000000af,0x000000b0,0x000000b1,0x0004002b,
0x00000006,0x000000b3,0xbd294688,0x0004002b,
0x00000006,0x000000b4,0x3e0fcafd,0x0004002b,
0x00000006,0x000000b5,0x3dd2652e,0x0004002b,
0x00000006,0x000000b6,0x3ea7a3f8,0x0007002c,
0x0000000c,0x000000b7,0x000000b3,0x000000b4,
0x000000b5,0x000000b6,0x0007002c,0x00000035,
0x000000b8,0x000000a8,0x000000ad,0x000000b2,
0x000000b7,0x0004002b,0x00000006,0x000000c0,
0x3e3b3900,0x0004002b,0x00000006,0x000000c1,
0x3ce1050f,0x0004002b,0x00000006,0x000000c2,
0xbdef978e,0x0004002b,0x00000006,0x000000c3,
0x3d060ef3,0x0007002c,0x0000000c,0x000000c4,
0x000000c0,0x000000c1,0x000000c2,0x000000c3,
0x0004002b,0x00000006,0x000000c5,0x3e36e952,
0x0004002b,0x00000006,0x000000c6,0xbf282e2e,
0x0004002b,0x00000006,0x000000c7,0xbd79758d,
0x0004002b,0x00000006,0x000000c8,0xbe2baf17,
0x0007002c,0x0000000c,0x000000c9,0x000000c5,
0x000000c6,0x000000c7,0x000000c8,0x0004002b,
0x00000006,0x000000ca,0xbe17a9f5,0x0004002b,
0x00000006,0x000000cb,0x3e93eb96,0x0004002b,
0x00000006,0x000000cc,0x3dff32f5,0x0004002b,
0x00000006,0x000000cd,0x3e61a5fc,0x0007002c,
0x0000000c,0x000000ce,0x000000ca,0x000000cb,
0x000000cc,0x000000cd,0x0004002b,0x00000006,
0x000000cf,0xbd1643be,0x0004002b,0x00000006,
0x000000d0,0x3e1da44e,0x0004002b,0x00000006,
0x000000d1,0x3be3b65e,0x0004002b,0x00000006,
0x000000d2,0xbe1e1b19,0x0007002c,0x0000000c,
0x000000d3,0x000000cf,0x000000d0,0x000000d1,
0x000000d2,0x0007002c,0x00000035,0x000000d4,
0x000000c4,0x000000c9,0x000000ce,0x000000d3,
0x0004002b,0x00000006,0x000000da,0x3e54607b,
0x0004002b,0x00000006,0x000000db,0xbd92db5c,
0x0004002b,0x00000006,0x000000dc,0xbca0b48a,
0x0004002b,0x00000006,0x000000dd,0xbdc3f9ae,
0x0007002c,0x0000000c,0x000000de,0x000000da,
0x000000db,0x000000dc,0x000000dd,0x0004002b,
0x00000006,0x000000df,0x3d954741,0x0004002b,
0x00000006,0x000000e0,0x3d467aa2,0x0004002b,
0x00000006,0x000000e1,0x3e9cd443,0x0004002b,
0x00000006,0x000000e2,0xbea3de20,0x0007002c,
0x0000000c,0x000000e3,0x000000df,0x000000e0,
0x000000e1,0x000000e2,0x0004002b,0x00000006,
0x000000e4,0x3ceed1c2,0x0004002b,0x00000006,
0x000000e5,0xbcd9770d,0x0004002b,0x00000006,
0x000000e6,0x3def4dcc,0x0004002b,0x00000006,
0x000000e7,0xbe7df2f2,0x0007002c,0x0000000c,
0x000000e8,0x000000e4,0x000000e5,0x000000e6,
0x000000e7,0x0004002b,0x00000006,0x000000e9,
0x3dfab865,0x0004002b,0x00000006,0x000000ea,
0x3d98be9b,0x0004002b,0x00000006,0x000000eb,
0x3e3f6008,0x0004002b,0x00000006,0x000000ec,
0xbe488116,0x0007002c,0x0000000c,0x000000ed,
0x000000e9,0x000000ea,0x000000eb,0x000000ec,
0x0007002c,0x00000035,0x000000ee,0x000000de,
0x000000e3,0x000000e8,0x000000ed,0x0004002b,
0x00000006,0x000000f5,0x3b02c602,0x0004002b,
0x00000006,0x000000f6,0xbcb88369,0x0004002b,
0x00000006,0x000000f7,0x3da6569e,0x0004002b,
0x00000006,0x000000f8,0x3cf236ff,0x0007002c,
0x0000000c,0x000000f9,0x000000f5,0x000000f6,
0x000000f7,0x000000f8,0x0004002b,0x00000006,
0x000000fa,0xbe4e88a4,0x0004002b,0x00000006,
0x000000fb,0xbe654a00,0x0004002b,0x00000006,
0x000000fc,0xbe7e14ce,0x0004002b,0x00000006,
0x000000fd,0xbe73e94c,0x0007002c,0x0000000c,
0x000000fe,0x000000fa,0x000000fb,0x000000fc,
0x000000fd,0x0004002b,0x00000006,0x000000ff,
0xbd5530be,0x0004002b,0x00000006,0x00000100,
0xbdf5dc8f,0x0004002b,0x00000006,0x00000101,
0x3e5949c4,0x0004002b,0x00000006,0x00000102,
0xbe21212e,0x0007002c,0x0000000c,0x00000103,
0x000000ff,0x00000100,0x00000101,0x00000102,
0x0004002b,0x00000006,0x00000104,0xbca2969c,
0x0004002b,0x00000006,0x00000105,0x3dcd05cb,
0x0004002b,0x00000006,0x00000106,0xbdde2f2b,
0x0004002b,0x00000006,0x00000107,0xbea019cf,
0x0007002c,0x0000000c,0x00000108,0x00000104,
0x00000105,0x00000106,0x00000107,0x0007002c,
0x00000035,0x00000109,0x000000f9,0x000000fe,
0x00000103,0x00000108,0x0004002b,0x00000006,
0x0000010f,0x3ec485c3,0x0004002b,0x00000006,
0x00000110,0x3e2be833,0x0004002b,0x00000006,
0x00000111,0x3f264dc9,0x0004002b,0x00000006,
0x00000112,0x3ec1b87c,0x0007002c,0x0000000c,
0x00000113,0x0000010f,0x00000110,0x00000111,
0x00000112,0x0004002b,0x00000006,0x00000114,
0xbe612287,0x0004002b,0x00000006,0x00000115,
0xbe70c70d,0x0004002b,0x00000006,0x00000116,
0xbe9208ff,0x0004002b,0x00000006,0x00000117,
0x3f21895c,0x0007002c,0x0000000c,0x00000118,
0x00000114,0x00000115,0x00000116,0x00000117,
0x0004002b,0x00000006,0x00000119,0x3f4eece2,
0x0004002b,0x00000006,0x0000011a,0x3b80db0c,
0x0004002b,0x00000006,0x0000011b,0xbdb8b1f7,
0x0004002b,0x00000006,0x0000011c,0x3da368a1,
0x0007002c,0x0000000c,0x0000011d,0x00000119,
0x0000011a,0x0000011b,0x0000011c,0x0004002b,
0x00000006,0x0000011e,0xbe689928,0x0004002b,
0x00000006,0x0000011f,0x3f355302,0x0004002b,
0x00000006,0x00000120,0x3e1b0239,0x0004002b,
0x00000006,0x00000121,0x3e6026b1,0x0007002c,
0x0000000c,0x00000122,0x0000011e,0x0000011f,
0x00000120,0x00000121,0x0007002c,0x00000035,
0x00000123,0x00000113,0x00000118,0x0000011d,
0x00000122,0x0004002b,0x00000006,0x0000012a,
0xbe92ff30,0x0004002b,0x00000006,0x0000012b,
0x3e6d344d,0x0004002b,0x00000006,0x0000012c,
0x3efd55bf,0x0004002b,0x00000006,0x0000012d,
0x3ea966c0,0x0007002c,0x0000000c,0x0000012e,
0x0000012a,0x0000012b,0x0000012c,0x0000012d,
0x0004002b,0x00000006,0x0000012f,0xbd7f5e02,
0x0004002b,0x00000006,0x00000130,0xbe069297,
0x0004002b,0x00000006,0x00000131,0xbe886e41,
0x0004002b,0x00000006,0x00000132,0x3f5f5cad,
0x0007002c,0x0000000c,0x00000133,0x0000012f,
0x00000130,0x00000131,0x00000132,0x0004002b,
0x00000006,0x00000134,0x3ee880e3,0x0004002b,
0x00000006,0x00000135,0x3e12ccae,0x0004002b,
0x00000006,0x00000136,0xbf903fbf,0x0004002b,
0x00000006,0x00000137,0x3f248e5a,0x0007002c,
0x0000000c,0x00000138,0x00000134,0x00000135,
0x00000136,0x00000137,0x0004002b,0x00000006,
0x00000139,0xbdd03118,0x0004002b,0x00000006,
0x0000013a,0x3eaf0491,0x0004002b,0x00000006,
0x0000013b,0xbdcafd1b,0x0004002b,0x00000006,
0x0000013c,0xbf86835c,0x0007002c,0x0000000c,
0x0000013d,0x00000139,0x0000013a,0x0000013b,
0x0000013c,0x0007002c,0x00000035,0x0000013e,
0x0000012e,0x00000133,0x00000138,0x0000013d,
0x0004002b,0x00000006,0x00000144,0xbe5f3104,
0x0004002b,0x00000006,0x00000145,0x3e00ea98,
0x0004002b,0x00000006,0x00000146,0xbdecb004,
0x0004002b,0x00000006,0x00000147,0xbd5b9b57,
0x0007002c,0x0000000c,0x00000148,0x00000144,
0x00000145,0x00000146,0x00000147,0x0004002b,
0x00000006,0x00000149,0xbc6661fb,0x0004002b,
0x00000006,0x0000014a,0xbc15d02e,0x0004002b,
0x00000006,0x0000014b,0xbd4d86eb,0x0004002b,
0x00000006,0x0000014c,0xbeb6d234,0x0007002c,
0x0000000c,0x0000014d,0x00000149,0x0000014a,
0x0000014b,0x0000014c,0x0004002b,0x00000006,
0x0000014e,0xbf154f20,0x0004002b,0x00000006,
0x0000014f,0x3e4d38e3,0x0004002b,0x00000006,
0x00000150,0x3e98e53c,0x0004002b,0x00000006,
0x00000151,0xbf505cda,0x0007002c,0x0000000c,
0x00000152,0x0000014e,0x0000014f,0x00000150,
0x00000151,0x0004002b,0x00000006,0x00000153,
0x3c69beb2,0x0004002b,0x00000006,0x00000154,
0x3d8b922c,0x0004002b,0x00000006,0x00000155,
0x3e04737d,0x0004002b,0x00000006,0x00000156,
0xbdcd326d,0x0007002c,0x0000000c,0x00000157,
0x00000153,0x00000154,0x00000155,0x00000156,
0x0007002c,0x00000035,0x00000158,0x00000148,
0x0000014d,0x00000152,0x00000157,0x0004002b,
0x00000006,0x0000015f,0x3e47f872,0x0004002b,
0x00000006,0x00000160,0xbe9e55f0,0x0004002b,
0x00000006,0x00000161,0x3e9cdd93,0x0004002b,
0x00000006,0x00000162,0x3e4620ee,0x0007002c,
0x0000000c,0x00000163,0x0000015f,0x00000160,
0x00000161,0x00000162,0x0004002b,0x00000006,
0x00000164,0x3d98ec6a,0x0004002b,0x00000006,
0x00000165,0xbeb4ef91,0x0004002b,0x00000006,
0x00000166,0xbe02012d,0x0004002b,0x00000006,
0x00000167,0xbe65288e,0x0007002c,0x0000000c,
0x00000168,0x00000164,0x00000165,0x00000166,
0x00000167,0x0004002b,0x00000006,0x00000169,
0x3e7d005e,0x0004002b,0x00000006,0x0000016a,
0xbe872fc6,0x0004002b,0x00000006,0x0000016b,
0xbe9292fd,0x0004002b,0x00000006,0x0000016c,
0x3e322fe5,0x0007002c,0x0000000c,0x0000016d,
0x00000169,0x0000016a,0x0000016b,0x0000016c,
0x0004002b,0x00000006,0x0000016e,0xbdc55a11,
0x0004002b,0x00000006,0x0000016f,0x3e86c031,
0x0004002b,0x00000006,0x00000170,0x3d24225f,
0x0004002b,0x00000006,0x00000171,0xbeb7d6ce,
0x0007002c,0x0000000c,0x00000172,0x0000016e,
0x0000016f,0x00000170,0x00000171,0x0007002c,
0x00000035,0x00000173,0x00000163,0x00000168,
0x0000016d,0x00000172,0x0004002b,0x00000006,
0x00000179,0xbf07ad9b,0x0004002b,0x00000006,
0x0000017a,0x3dc8b3af,0x0004002b,0x00000006,
0x0000017b,0x3e2aac86,0x0004002b,0x00000006,
0x0000017c,0xbe1e776c,0x0007002c,0x0000000c,
0x0000017d,0x00000179,0x0000017a,0x0000017b,
0x0000017c,0x0004002b,0x00000006,0x0000017e,
0xbb8e5ac9,0x0004002b,0x00000006,0x0000017f,
0x3e1db781,0x0004002b,0x00000006,0x00000180,
0x3d7371f3,0x0004002b,0x00000006,0x00000181,
0xbc890833,0x0007002c,0x0000000c,0x00000182,
0x0000017e,0x0000017f,0x00000180,0x00000181,
0x0004002b,0x00000006,0x00000183,0xbdd5bb43,
0x0004002b,0x00000006,0x00000184,0x3d4e8a8a,
0x0004002b,0x00000006,0x00000185,0x3d3b1090,
0x0004002b,0x00000006,0x00000186,0x3e814822,
0x0007002c,0x0000000c,0x00000187,0x00000183,
0x00000184,0x00000185,0x00000186,0x0004002b,
0x00000006,0x00000188,0x3e6583bd,0x0004002b,
0x00000006,0x00000189,0xbe2be0f5,0x0004002b,
0x00000006,0x0000018a,0x3e1cf1f4,0x0004002b,
0x00000006,0x0000018b,0x3e9491b8,0x0007002c,
0x0000000c,0x0000018c,0x00000188,0x00000189,
0x0000018a,0x0000018b,0x0007002c,0x00000035,
0x0000018d,0x0000017d,0x00000182,0x00000187,
0x0000018c,0x0004002b,0x00000006,0x00000194,
0x3dcc8db3,0x0004002b,0x00000006,0x00000195,
0x3d1de2b0,0x0004002b,0x00000006,0x00000196,
0xbd9c23ba,0x0004002b,0x00000006,0x00000197,
0xbe009a76,0x0007002c,0x0000000c,0x00000198,
0x00000194,0x00000195,0x00000196,0x00000197,
0x0004002b,0x00000006,0x00000199,0x3ce68c30,
0x0004002b,0x00000006,0x0000019a,0xbcf9d26e,
0x0004002b,0x00000006,0x0000019b,0xbe138152,
0x0004002b,0x00000006,0x0000019c,0xbdcd20f5,
0x0007002c,0x0000000c,0x0000019d,0x00000199,
0x0000019a,0x0000019b,0x0000019c,0x0004002b,
0x00000006,0x0000019e,0xbe672ffc,0x0004002b,
0x00000006,0x0000019f,0x3e528b3e,0x0004002b,
0x00000006,0x000001a0,0x3ccb99a4,0x0004002b,
0x00000006,0x000001a1,0xbe0db768,0x0007002c,
0x0000000c,0x000001a2,0x0000019e,0x0000019f,
0x000001a0,0x000001a1,0x0004002b,0x00000006,
0x000001a3,0xbdc2e8f1,0x0004002b,0x00000006,
0x000001a4,0x3dcc4564,0x0004002b,0x00000006,
0x000001a5,0x3ce18cf8,0x0004002b,0x00000006,
0x000001a6,0xbf12a5db,0x0007002c,0x0000000c,
0x000001a7,0x000001a3,0x000001a4,0x000001a5,
0x000001a6,0x0007002c,0x00000035,0x000001a8,
0x00000198,0x0000019d,0x000001a2,0x000001a7,
0x0004002b,0x00000006,0x000001ae,0x3ed9ea64,
0x0004002b,0x00000006,0x000001af,0x3e32b328,
0x0004002b,0x00000006,0x000001b0,0xbe76b8db,
0x0004002b,0x00000006,0x000001b1,0x3ea0c2ba,
0x0007002c,0x0000000c,0x000001b2,0x000001ae,
0x000001af,0x000001b0,0x000001b1,0x0004002b,
0x00000006,0x000001b3,0xbb712452,0x0004002b,
0x00000006,0x000001b4,0x3e3a4b70,0x0004002b,
0x00000006,0x000001b5,0xbdb10e57,0x0004002b,
0x00000006,0x000001b6,0x3c283fde,0x0007002c,
0x0000000c,0x000001b7,0x000001b3,0x000001b4,
0x000001b5,0x000001b6,0x0004002b,0x00000006,
0x000001b8,0xbeadf0d4,0x0004002b,0x00000006,
0x000001b9,0x3de2baa3,0x0004002b,0x00000006,
0x000001ba,0xbb66e025,0x0004002b,0x00000006,
0x000001bb,0xbe6211ab,0x0007002c,0x0000000c,
0x000001bc,0x000001b8,0x000001b9,0x000001ba,
0x000001bb,0x0004002b,0x00000006,0x000001bd,
0xbe362f12,0x0004002b,0x00000006,0x000001be,
0xbe57aa9d,0x0004002b,0x00000006,0x000001bf,
0x3d107388,0x0004002b,0x00000006,0x000001c0,
0x3eb91e41,0x0007002c,0x0000000c,0x000001c1,
0x000001bd,0x000001be,0x000001bf,0x000001c0,
0x0007002c,0x00000035,0x000001c2,0x000001b2,
0x000001b7,0x000001bc,0x000001c1,0x0004002b,
0x00000006,0x000001c9,0xbd0d6763,0x0004002b,
0x00000006,0x000001ca,0xbd893374,0x0004002b,
0x00000006,0x000001cb,0x3db9cc16,0x0004002b,
0x00000006,0x000001cc,0xbec07276,0x0007002c,
0x0000000c,0x000001cd,0x000001c9,0x000001ca,
0x000001cb,0x000001cc,0x0004002b,0x00000006,
0x000001ce,0xbd395dcd,0x0004002b,0x00000006,
0x000001cf,0xbde8569f,0x0004002b,0x00000006,
0x000001d0,0xbd12fe5d,0x0004002b,0x00000006,
0x000001d1,0xbe3e4850,0x0007002c,0x0000000c,
0x000001d2,0x000001ce,0x000001cf,0x000001d0,
0x000001d1,0x0004002b,0x00000006,0x000001d3,
0xbcbf130d,0x0004002b,0x00000006,0x000001d4,
0xbd4b0850,0x0004002b,0x00000006,0x000001d5,
0x3e4a5dce,0x0004002b,0x00000006,0x000001d6,
0xbdeebf7e,0x0007002c,0x0000000c,0x000001d7,
0x000001d3,0x000001d4,0x000001d5,0x000001d6,
0x0004002b,0x00000006,0x000001d8,0xbd0b7283,
0x0004002b,0x00000006,0x000001d9,0x3de06245,
0x0004002b,0x00000006,0x000001da,0x3c3482da,
0x0004002b,0x00000006,0x000001db,0xbf53b14a,
0x0007002c,0x0000000c,0x000001dc,0x000001d8,
0x000001d9,0x000001da,0x000001db,0x0007002c,
0x00000035,0x000001dd,0x000001cd,0x000001d2,
0x000001d7,0x000001dc,0x0004002b,0x00000006,
0x000001e3,0xbe0d3d04,0x0004002b,0x00000006,
0x000001e4,0x3dcdac8e,0x0004002b,0x00000006,
0x000001e5,0x3d94465b,0x0004002b,0x00000006,
0x000001e6,0xbe1ab8dd,0x0007002c,0x0000000c,
0x000001e7,0x000001e3,0x000001e4,0x000001e5,
0x000001e6,0x0004002b,0x00000006,0x000001e8,
0x3d7a1f25,0x0004002b,0x00000006,0x000001e9,
0x3d39064b,0x0004002b,0x00000006,0x000001ea,
0xbcbdfeac,0x0004002b,0x00000006,0x000001eb,
0xbcce12a6,0x0007002c,0x0000000c,0x000001ec,
0x000001e8,0x000001e9,0x000001ea,0x000001eb,
0x0004002b,0x00000006,0x000001ed,0x3e6c24a5,
0x0004002b,0x00000006,0x000001ee,0x3dd399d0,
0x0004002b,0x00000006,0x000001ef,0xbe06c787,
0x0004002b,0x00000006,0x000001f0,0x3de78f67,
0x0007002c,0x0000000c,0x000001f1,0x000001ed,
0x000001ee,0x000001ef,0x000001f0,0x0004002b,
0x00000006,0x000001f2,0xbd3bcee6,0x0004002b,
0x00000006,0x000001f3,0xbdec08ee,0x0004002b,
0x00000006,0x000001f4,0xbc113ea4,0x0004002b,
0x00000006,0x000001f5,0xbcafb396,0x0007002c,
0x0000000c,0x000001f6,0x000001f2,0x000001f3,
0x000001f4,0x000001f5,0x0007002c,0x00000035,
0x000001f7,0x000001e7,0x000001ec,0x000001f1,
0x000001f6,0x0004002b,0x00000006,0x000001fe,
0xbd5f8d87,0x0004002b,0x00000006,0x000001ff,
0xbd7dfe02,0x0004002b,0x00000006,0x00000200,
0x3d0e2965,0x0004002b,0x00000006,0x00000201,
0x3de09fde,0x0007002c,0x0000000c,0x00000202,
0x000001fe,0x000001ff,0x00000200,0x00000201,
0x0004002b,0x00000006,0x00000203,0x3b7048b3,
0x0004002b,0x00000006,0x00000204,0xbd293576,
0x0004002b,0x00000006,0x00000205,0x3e13c9f0,
0x0004002b,0x00000006,0x00000206,0xbdedc7c3,
0x0007002c,0x0000000c,0x00000207,0x00000203,
0x00000204,0x00000205,0x00000206,0x0004002b,
0x00000006,0x00000208,0xbbc9eec9,0x0004002b,
0x00000006,0x00000209,0xbccf3d39,0x0004002b,
0x00000006,0x0000020a,0x3ea56082,0x0004002b,
0x00000006,0x0000020b,0xbe81e011,0x0007002c,
0x0000000c,0x0000020c,0x00000208,0x00000209,
0x0000020a,0x0000020b,0x0004002b,0x00000006,
0x0000020d,0xbd679aa5,0x0004002b,0x00000006,
0x0000020e,0x3da97d3a,0x0004002b,0x00000006,
0x0000020f,0xbbeb0872,0x0004002b,0x00000006,
0x00000210,0xbe4b17ce,0x0007002c,0x0000000c,
0x00000211,0x0000020d,0x0000020e,0x0000020f,
0x00000210,0x0007002c,0x00000035,0x00000212,
0x00000202,0x00000207,0x0000020c,0x00000211,
0x0007002c,0x0000000c,0x00000219,0x00000083,
0x00000083,0x00000083,0x00000083,0x0004002b,
0x00000006,0x0000021b,0xbf21978f,0x0004002b,
0x00000006,0x0000021c,0xbdf8e855,0x0004002b,
0x00000006,0x0000021d,0x3e7eb6d7,0x0004002b,
0x00000006,0x0000021e,0x3ecf727d,0x0007002c,
0x0000000c,0x0000021f,0x0000021b,0x0000021c,
0x0000021d,0x0000021e,0x00040015,0x00000227,
0x00000020,0x00000000,0x00040017,0x00000228,
0x00000227,0x00000003,0x00040020,0x00000229,
0x00000001,0x00000228,0x0004003b,0x00000229,
0x0000022a,0x00000001,0x00040017,0x0000022b,
0x00000227,0x00000002,0x00020014,0x0000022f,
0x0004002b,0x00000227,0x00000230,0x00000000,
0x00040020,0x00000234,0x00000009,0x00000016,
0x0004002b,0x00000227,0x0000023b,0x00000001,
0x00090019,0x00000245,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x00000246,0x00000000,
0x00000245,0x0004003b,0x00000246,0x00000247,
0x00000000,0x0004002b,0x00000227,0x0000024b,
0x00000010,0x0006002c,0x00000228,0x0000024c,
0x0000024b,0x0000024b,0x0000023b,0x0004002b,
0x00000016,0x000003b8,0xffffffff,0x0005002c,
0x00000017,0x000003b9,0x000003b8,0x000003b8,
0x0005002c,0x00000017,0x000003ba,0x00000026,
0x00000026,0x0005002c,0x00000017,0x000003bb,
0x000003b8,0x0000001e,0x0005002c,0x00000017,
0x000003bc,0x000003b8,0x00000026,0x0005002c,
0x00000017,0x000003bd,0x0000001e,0x000003b8,
0x0005002c,0x00000017,0x000003be,0x0000001e,
0x00000026,0x0005002c,0x00000017,0x000003bf,
0x00000026,0x000003b8,0x0005002c,0x00000017,
0x000003c0,0x00000026,0x0000001e,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x000300f7,0x0000024e,
0x00000000,0x000300fb,0x00000230,0x0000024f,
0x000200f8,0x0000024f,0x0004003d,0x00000228,
0x0000022c,0x0000022a,0x0007004f,0x0000022b,
0x0000022d,0x0000022c,0x0000022c,0x00000000,
0x00000001,0x0004007c,0x00000017,0x0000022e,
0x0000022d,0x00050051,0x00000016,0x00000233,
0x0000022e,0x00000000,0x00060041,0x00000234,
0x00000235,0x00000022,0x0000001e,0x00000230,
0x0004003d,0x00000016,0x00000236,0x00000235,
0x000500af,0x0000022f,0x00000237,0x00000233,
0x00000236,0x000400a8,0x0000022f,0x00000238,
0x00000237,0x000300f7,0x0000023a,0x00000000,
0x000400fa,0x00000238,0x00000239,0x0000023a,
0x000200f8,0x00000239,0x00050051,0x00000016,
0x0000023d,0x0000022e,0x00000001,0x00060041,
0x00000234,0x0000023e,0x00000022,0x0000001e,
0x0000023b,0x0004003d,0x00000016,0x0000023f,
0x0000023e,0x000500af,0x0000022f,0x00000240,
0x0000023d,0x0000023f,0x000200f9,0x0000023a,
0x000200f8,0x0000023a,0x000700f5,0x0000022f,
0x00000241,0x00000237,0x0000024f,0x00000240,
0x00000239,0x000300f7,0x00000243,0x00000000,
0x000400fa,0x00000241,0x00000242,0x00000243,
0x000200f8,0x00000242,0x000200f9,0x0000024e,
0x000200f8,0x00000243,0x0004003d,0x00000245,
0x00000248,0x00000247,0x0004003d,0x00000008,
0x000002ba,0x0000004b,0x00050080,0x00000017,
0x000002be,0x0000022e,0x000003b9,0x00050041,
0x00000023,0x000002bf,0x00000022,0x0000001e,
0x0004003d,0x00000017,0x000002c0,0x000002bf,
0x00050082,0x00000017,0x000002c2,0x000002c0,
0x000003ba,0x0008000c,0x00000017,0x000002c3,
0x00000001,0x0000002d,0x000002be,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x000002c4,
0x000002ba,0x0007005f,0x0000000c,0x000002c5,
0x000002c4,0x000002c3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000026a,0x0000004a,
0x000002c5,0x00050081,0x0000000c,0x0000026c,
0x00000034,0x0000026a,0x0004003d,0x00000008,
0x000002c8,0x00000068,0x00040064,0x00000007,
0x000002d2,0x000002c8,0x0007005f,0x0000000c,
0x000002d3,0x000002d2,0x000002c3,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000026e,
0x00000067,0x000002d3,0x00050081,0x0000000c,
0x00000270,0x0000026c,0x0000026e,0x0004003d,
0x00000008,0x000002d6,0x0000004b,0x00050080,
0x00000017,0x000002da,0x0000022e,0x000003bb,
0x0008000c,0x00000017,0x000002df,0x00000001,
0x0000002d,0x000002da,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000002e0,0x000002d6,
0x0007005f,0x0000000c,0x000002e1,0x000002e0,
0x000002df,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000272,0x00000082,0x000002e1,
0x00050081,0x0000000c,0x00000274,0x00000270,
0x00000272,0x0004003d,0x00000008,0x000002e4,
0x00000068,0x00040064,0x00000007,0x000002ee,
0x000002e4,0x0007005f,0x0000000c,0x000002ef,
0x000002ee,0x000002df,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x00000276,0x0000009e,
0x000002ef,0x00050081,0x0000000c,0x00000278,
0x00000274,0x00000276,0x0004003d,0x00000008,
0x000002f2,0x0000004b,0x00050080,0x00000017,
0x000002f6,0x0000022e,0x000003bc,0x0008000c,
0x00000017,0x000002fb,0x00000001,0x0000002d,
0x000002f6,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x000002fc,0x000002f2,0x0007005f,
0x0000000c,0x000002fd,0x000002fc,0x000002fb,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000027a,0x000000b8,0x000002fd,0x00050081,
0x0000000c,0x0000027c,0x00000278,0x0000027a,
0x0004003d,0x00000008,0x00000300,0x00000068,
0x00040064,0x00000007,0x0000030a,0x00000300,
0x0007005f,0x0000000c,0x0000030b,0x0000030a,
0x000002fb,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000027e,0x000000d4,0x0000030b,
0x00050081,0x0000000c,0x00000280,0x0000027c,
0x0000027e,0x0004003d,0x00000008,0x0000030e,
0x0000004b,0x00050080,0x00000017,0x00000312,
0x0000022e,0x000003bd,0x0008000c,0x00000017,
0x00000317,0x00000001,0x0000002d,0x00000312,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x00000318,0x0000030e,0x0007005f,0x0000000c,
0x00000319,0x00000318,0x00000317,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x00000282,
0x000000ee,0x00000319,0x00050081,0x0000000c,
0x00000284,0x00000280,0x00000282,0x0004003d,
0x00000008,0x0000031c,0x00000068,0x00040064,
0x00000007,0x00000326,0x0000031c,0x0007005f,
0x0000000c,0x00000327,0x00000326,0x00000317,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000286,0x00000109,0x00000327,0x00050081,
0x0000000c,0x00000288,0x00000284,0x00000286,
0x0004003d,0x00000008,0x0000032a,0x0000004b,
0x0008000c,0x00000017,0x00000333,0x00000001,
0x0000002d,0x0000022e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x00000334,0x0000032a,
0x0007005f,0x0000000c,0x00000335,0x00000334,
0x00000333,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000028a,0x00000123,0x00000335,
0x00050081,0x0000000c,0x0000028c,0x00000288,
0x0000028a,0x0004003d,0x00000008,0x00000338,
0x00000068,0x00040064,0x00000007,0x00000342,
0x00000338,0x0007005f,0x0000000c,0x00000343,
0x00000342,0x00000333,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000028e,0x0000013e,
0x00000343,0x00050081,0x0000000c,0x00000290,
0x0000028c,0x0000028e,0x0004003d,0x00000008,
0x00000346,0x0000004b,0x00050080,0x00000017,
0x0000034a,0x0000022e,0x000003be,0x0008000c,
0x00000017,0x0000034f,0x00000001,0x0000002d,
0x0000034a,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x00000350,0x00000346,0x0007005f,
0x0000000c,0x00000351,0x00000350,0x0000034f,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000292,0x00000158,0x00000351,0x00050081,
0x0000000c,0x00000294,0x00000290,0x00000292,
0x0004003d,0x00000008,0x00000354,0x00000068,
0x00040064,0x00000007,0x0000035e,0x00000354,
0x0007005f,0x0000000c,0x0000035f,0x0000035e,
0x0000034f,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000296,0x00000173,0x0000035f,
0x00050081,0x0000000c,0x00000298,0x00000294,
0x00000296,0x0004003d,0x00000008,0x00000362,
0x0000004b,0x00050080,0x00000017,0x00000366,
0x0000022e,0x000003bf,0x0008000c,0x00000017,
0x0000036b,0x00000001,0x0000002d,0x00000366,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x0000036c,0x00000362,0x0007005f,0x0000000c,
0x0000036d,0x0000036c,0x0000036b,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000029a,
0x0000018d,0x0000036d,0x00050081,0x0000000c,
0x0000029c,0x00000298,0x0000029a,0x0004003d,
0x00000008,0x00000370,0x00000068,0x00040064,
0x00000007,0x0000037a,0x00000370,0x0007005f,
0x0000000c,0x0000037b,0x0000037a,0x0000036b,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000029e,0x000001a8,0x0000037b,0x00050081,
0x0000000c,0x000002a0,0x0000029c,0x0000029e,
0x0004003d,0x00000008,0x0000037e,0x0000004b,
0x00050080,0x00000017,0x00000382,0x0000022e,
0x000003c0,0x0008000c,0x00000017,0x00000387,
0x00000001,0x0000002d,0x00000382,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x00000388,
0x0000037e,0x0007005f,0x0000000c,0x00000389,
0x00000388,0x00000387,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002a2,0x000001c2,
0x00000389,0x00050081,0x0000000c,0x000002a4,
0x000002a0,0x000002a2,0x0004003d,0x00000008,
0x0000038c,0x00000068,0x00040064,0x00000007,
0x00000396,0x0000038c,0x0007005f,0x0000000c,
0x00000397,0x00000396,0x00000387,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x000002a6,
0x000001dd,0x00000397,0x00050081,0x0000000c,
0x000002a8,0x000002a4,0x000002a6,0x0004003d,
0x00000008,0x0000039a,0x0000004b,0x00050080,
0x00000017,0x0000039e,0x0000022e,0x000003ba,
0x0008000c,0x00000017,0x000003a3,0x00000001,
0x0000002d,0x0000039e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000003a4,0x0000039a,
0x0007005f,0x0000000c,0x000003a5,0x000003a4,
0x000003a3,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x000002aa,0x000001f7,0x000003a5,
0x00050081,0x0000000c,0x000002ac,0x000002a8,
0x000002aa,0x0004003d,0x00000008,0x000003a8,
0x00000068,0x00040064,0x00000007,0x000003b2,
0x000003a8,0x0007005f,0x0000000c,0x000003b3,
0x000003b2,0x000003a3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002ae,0x00000212,
0x000003b3,0x00050081,0x0000000c,0x000002b0,
0x000002ac,0x000002ae,0x0007000c,0x0000000c,
0x000002b2,0x00000001,0x00000028,0x000002b0,
0x00000219,0x0007000c,0x0000000c,0x000002b4,
0x00000001,0x00000025,0x000002b0,0x00000219,
0x00050085,0x0000000c,0x000002b5,0x0000021f,
0x000002b4,0x00050081,0x0000000c,0x000002b6,
0x000002b2,0x000002b5,0x00040063,0x00000248,
0x0000022e,0x000002b6,0x000200f9,0x0000024e,
0x000200f8,0x0000024e,0x000100fd,0x00010038}
+46
View File
@@ -0,0 +1,46 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: mapping 3_1. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define MODEL1_texOff(o) fetch_(in0, vec2(o))
#define MODEL2_texOff(o) fetch_(in1, vec2(o))
vec4 hook()
{
vec4 res = vec4(-0.0410279631614685,-0.1111723631620407,-0.0406232848763466,-0.0939496159553528);
res += mat4(0.1221675798296928,0.0083215842023492,-0.0162804014980793,0.0316714197397232,-0.2205813378095627,0.1500435769557953,0.2109555304050446,0.2741867899894714,0.0956874340772629,-0.0896854698657990,-0.1657065600156784,-0.1349759399890900,0.0601499564945698,-0.1523845940828323,-0.1828087568283081,-0.2727653682231903) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.0918163508176804,0.1564485579729080,0.1133174449205399,0.2215953171253204,-0.0623677000403404,-0.0497728772461414,-0.0372809022665024,-0.0258478187024593,-0.1364922970533371,0.1053884625434875,0.3292874991893768,0.2693256139755249,-0.0347631797194481,-0.1470523178577423,0.0096792401745915,-0.0542853325605392) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.1331177949905396,-0.0964357852935791,-0.0706946700811386,0.1593225002288818,-0.4815943241119385,0.1224092170596123,-0.0870430991053581,0.0005010276800022,-0.0242684502154589,-0.2256436049938202,0.1367238312959671,0.0474774017930031,0.6886650323867798,-0.0065326127223670,0.1841574758291245,-0.1354993879795074) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.1049591675400734,0.0515934228897095,0.1128631457686424,0.1688040047883987,-0.0084041170775890,-0.0006375144002959,-0.0598374009132385,0.1424416452646255,-0.0048398924991488,0.1832167655229568,0.0231959503144026,0.0816788375377655,-0.1321710795164108,0.0397678017616272,-0.0058345394209027,0.5784573554992676) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.1438693851232529,-0.0694608166813850,-0.0428275354206562,0.1599996536970139,-0.1651254445314407,0.1388883888721466,-0.0895452573895454,0.2569831907749176,0.3150432109832764,-0.0910519883036613,0.0367441214621067,0.1903669685125351,0.2805841267108917,-0.0444608181715012,0.0059385276399553,-0.2585869431495667) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.1217494234442711,0.0191769022494555,-0.0065453462302685,0.1391217857599258,0.0998920649290085,-0.0162798929959536,0.0502282194793224,0.0370145924389362,0.0290782172232866,-0.0099554909393191,0.0142515478655696,0.1248661577701569,-0.0076912571676075,0.0251651499420404,0.2190572917461395,0.0020069130696356) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.2666685581207275,-0.1625511497259140,-0.3938800692558289,-0.0253848694264889,0.0987015441060066,0.2033616453409195,0.3128099143505096,0.4608893990516663,0.0620003379881382,-0.1389972567558289,-0.3095863461494446,-0.4023511111736298,-0.1105777546763420,0.1115406602621078,0.3639950752258301,0.0645622834563255) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.2135885655879974,-0.1035343706607819,0.1795026361942291,0.1828210204839706,0.0780984908342361,0.0656728670001030,0.0033678691834211,0.1361345648765564,0.1712654232978821,-0.0172833092510700,-0.0502183400094509,0.2910411655902863,0.0691247656941414,0.1935720741748810,0.0652214139699936,0.1608240753412247) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.8243460655212402,-0.0979344248771667,-0.0366373993456364,0.1692261099815369,0.5517869591712952,0.3282494544982910,-0.7905511856079102,-0.4462923705577850,-0.0803156569600105,0.1172509342432022,0.1864327639341354,0.1471016854047775,0.1296005547046661,-0.1004103720188141,0.3174172043800354,-0.1181766316294670) * MODEL1_texOff(vec2(0,0));
res += mat4(0.0259374529123306,-0.0934808850288391,0.3008874654769897,0.3957927823066711,-0.4048821926116943,0.1461934000253677,-0.1819096356630325,-0.1908810287714005,0.3193186521530151,-0.7438099980354309,0.1919509470462799,-0.2065188735723495,0.1752236187458038,-0.6840037107467651,0.1588519066572189,-0.3956064879894257) * MODEL2_texOff(vec2(0,0));
res += mat4(0.1574442386627197,-0.0114925103262067,-0.1208277940750122,0.2058266401290894,0.2879209220409393,-0.0419875606894493,-0.1902059614658356,-0.2723863720893860,-0.1086223348975182,-0.0870924964547157,0.8605937957763672,0.2656622231006622,-0.1653763055801392,0.0816384851932526,-0.0137870563194156,0.1433854848146439) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.1565909236669540,-0.0307490080595016,-0.1055604666471481,0.2573592662811279,-0.1186821162700653,0.1141471788287163,-0.0272745657712221,-0.1049114838242531,0.2445316016674042,-0.0027864547446370,-0.1759569346904755,-0.1556979566812515,0.0550616309046745,0.1704383641481400,0.0853662937879562,0.3280856907367706) * MODEL2_texOff(vec2(0,1));
res += mat4(0.1460669338703156,0.4202052652835846,-0.3638312816619873,-0.0958623066544533,-0.0492525361478329,-0.3664234280586243,0.0794373303651810,0.0399017669260502,0.0629198029637337,0.1662959158420563,-0.1001493930816650,-0.0587460733950138,-0.0396478697657585,0.0017320754704997,0.0314909480512142,-0.0202700830996037) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.0964399129152298,0.0380319654941559,0.0396055467426777,0.0265473183244467,-0.0161637403070927,-0.1872924566268921,0.1670000404119492,0.0029466480482370,-0.1093841269612312,-0.3629201948642731,-0.0562992505729198,0.1792684197425842,-0.0203859098255634,0.0983991250395775,0.0058611719869077,0.1627455651760101) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.1117974221706390,0.7562329173088074,-0.2046248912811279,0.1677842289209366,-0.2063486129045486,-0.6023545265197754,-0.5739209651947021,0.5110496878623962,-0.0715268924832344,-0.1373793482780457,0.1251420378684998,-0.0477442294359207,0.4961377978324890,0.2688887119293213,0.3146316707134247,-0.5197153687477112) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.1314805448055267,0.0746279135346413,0.3457699418067932,0.2564856410026550,0.0839370116591454,-0.6136511564254761,-0.4646295011043549,0.0612256154417992,-0.1910563558340073,-0.0935136750340462,-0.2426030039787292,0.2102959007024765,0.1575350016355515,0.6145061254501343,0.3368154168128967,-0.0974092856049538) * MODEL2_texOff(vec2(1,0));
res += mat4(0.0565315335988998,0.2393359094858170,-0.0932938233017921,0.1555283814668655,0.0123879108577967,-0.1247719228267670,-0.0564610138535500,-0.1125799044966698,-0.0104600470513105,0.0482629500329494,0.2316472232341766,0.1083717569708824,-0.0525921434164047,0.0643989592790604,-0.0525734610855579,-0.0503251366317272) * MODEL1_texOff(vec2(1,1));
res += mat4(-0.1835366338491440,0.0978360474109650,-0.1111819595098495,0.2109299153089523,0.0509372949600220,-0.1992686837911606,0.0677929744124413,-0.0870024710893631,-0.0412262082099915,-0.0697719156742096,-0.0967373847961426,0.0137308547273278,0.0195730421692133,0.0410240143537521,0.1157210171222687,0.2283479571342468) * MODEL2_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.1991519331932068,-0.1275756657123566,-0.0622864030301571,0.1586369574069977) * min(res, vec4(0.0));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+703
View File
@@ -0,0 +1,703 @@
{0x07230203,0x00010000,0x000d000b,0x000003c1,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000022a,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000022a,0x0000000b,0x0000001c,
0x00030047,0x00000247,0x00000019,0x00040047,
0x00000247,0x00000021,0x00000000,0x00040047,
0x00000247,0x00000022,0x00000000,0x00040047,
0x0000024c,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0xbd280cf0,0x0004002b,
0x00000006,0x00000031,0xbde3ae56,0x0004002b,
0x00000006,0x00000032,0xbd26649a,0x0004002b,
0x00000006,0x00000033,0xbdc068a8,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0x3dfa32ff,0x0004002b,0x00000006,
0x00000037,0x3c085741,0x0004002b,0x00000006,
0x00000038,0xbc855e7a,0x0004002b,0x00000006,
0x00000039,0x3d01b9e4,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0xbe61e013,0x0004002b,0x00000006,0x0000003c,
0x3e19a506,0x0004002b,0x00000006,0x0000003d,
0x3e5804ba,0x0004002b,0x00000006,0x0000003e,
0x3e8c6236,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0x3dc3f7c6,
0x0004002b,0x00000006,0x00000041,0xbdb7ad04,
0x0004002b,0x00000006,0x00000042,0xbe29aefb,
0x0004002b,0x00000006,0x00000043,0xbe0a3722,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0x3d765fcd,0x0004002b,
0x00000006,0x00000046,0xbe1c0ab5,0x0004002b,
0x00000006,0x00000047,0xbe3b3238,0x0004002b,
0x00000006,0x00000048,0xbe8ba7e7,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x00000053,
0xbdbc0a36,0x0004002b,0x00000006,0x00000054,
0x3e20340d,0x0004002b,0x00000006,0x00000055,
0x3de812fa,0x0004002b,0x00000006,0x00000056,
0x3e62e9e2,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0xbd7f7546,
0x0004002b,0x00000006,0x00000059,0xbd4bdea5,
0x0004002b,0x00000006,0x0000005a,0xbd18b3dc,
0x0004002b,0x00000006,0x0000005b,0xbcd3bece,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0xbe0bc4a3,0x0004002b,
0x00000006,0x0000005e,0x3dd7d5e8,0x0004002b,
0x00000006,0x0000005f,0x3ea8985f,0x0004002b,
0x00000006,0x00000060,0x3e89e50c,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0xbd0e63d6,0x0004002b,0x00000006,
0x00000063,0xbe1694e2,0x0004002b,0x00000006,
0x00000064,0x3c1e95ad,0x0004002b,0x00000006,
0x00000065,0xbd5e5a4c,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004002b,0x00000006,0x0000006e,0x3e085008,
0x0004002b,0x00000006,0x0000006f,0xbdc58020,
0x0004002b,0x00000006,0x00000070,0xbd90c85e,
0x0004002b,0x00000006,0x00000071,0x3e232570,
0x0007002c,0x0000000c,0x00000072,0x0000006e,
0x0000006f,0x00000070,0x00000071,0x0004002b,
0x00000006,0x00000073,0xbef69388,0x0004002b,
0x00000006,0x00000074,0x3dfab1af,0x0004002b,
0x00000006,0x00000075,0xbdb243a7,0x0004002b,
0x00000006,0x00000076,0x3a035766,0x0007002c,
0x0000000c,0x00000077,0x00000073,0x00000074,
0x00000075,0x00000076,0x0004002b,0x00000006,
0x00000078,0xbcc6cea1,0x0004002b,0x00000006,
0x00000079,0xbe670f1e,0x0004002b,0x00000006,
0x0000007a,0x3e0c0155,0x0004002b,0x00000006,
0x0000007b,0x3d4277aa,0x0007002c,0x0000000c,
0x0000007c,0x00000078,0x00000079,0x0000007a,
0x0000007b,0x0004002b,0x00000006,0x0000007d,
0x3f304c5a,0x0004002b,0x00000006,0x0000007e,
0xbbd60f87,0x0004002b,0x00000006,0x0000007f,
0x3e3c93c7,0x0004002b,0x00000006,0x00000080,
0xbe0ac05a,0x0007002c,0x0000000c,0x00000081,
0x0000007d,0x0000007e,0x0000007f,0x00000080,
0x0007002c,0x00000035,0x00000082,0x00000072,
0x00000077,0x0000007c,0x00000081,0x0004002b,
0x00000006,0x00000083,0x00000000,0x0004002b,
0x00000006,0x0000008a,0xbdd6f4d5,0x0004002b,
0x00000006,0x0000008b,0x3d5353a0,0x0004002b,
0x00000006,0x0000008c,0x3de724cb,0x0004002b,
0x00000006,0x0000008d,0x3e2cdaf5,0x0007002c,
0x0000000c,0x0000008e,0x0000008a,0x0000008b,
0x0000008c,0x0000008d,0x0004002b,0x00000006,
0x0000008f,0xbc09b16c,0x0004002b,0x00000006,
0x00000090,0xba271ede,0x0004002b,0x00000006,
0x00000091,0xbd751810,0x0004002b,0x00000006,
0x00000092,0x3e11dc39,0x0007002c,0x0000000c,
0x00000093,0x0000008f,0x00000090,0x00000091,
0x00000092,0x0004002b,0x00000006,0x00000094,
0xbb9e97f6,0x0004002b,0x00000006,0x00000095,
0x3e3b9d2d,0x0004002b,0x00000006,0x00000096,
0x3cbe056f,0x0004002b,0x00000006,0x00000097,
0x3da7473c,0x0007002c,0x0000000c,0x00000098,
0x00000094,0x00000095,0x00000096,0x00000097,
0x0004002b,0x00000006,0x00000099,0xbe0757db,
0x0004002b,0x00000006,0x0000009a,0x3d22e390,
0x0004002b,0x00000006,0x0000009b,0xbbbf2faa,
0x0004002b,0x00000006,0x0000009c,0x3f1415c8,
0x0007002c,0x0000000c,0x0000009d,0x00000099,
0x0000009a,0x0000009b,0x0000009c,0x0007002c,
0x00000035,0x0000009e,0x0000008e,0x00000093,
0x00000098,0x0000009d,0x0004002b,0x00000006,
0x000000a4,0x3e13527f,0x0004002b,0x00000006,
0x000000a5,0xbd8e4179,0x0004002b,0x00000006,
0x000000a6,0xbd2f6bed,0x0004002b,0x00000006,
0x000000a7,0x3e23d6f3,0x0007002c,0x0000000c,
0x000000a8,0x000000a4,0x000000a5,0x000000a6,
0x000000a7,0x0004002b,0x00000006,0x000000a9,
0xbe2916a5,0x0004002b,0x00000006,0x000000aa,
0x3e0e38c2,0x0004002b,0x00000006,0x000000ab,
0xbdb76381,0x0004002b,0x00000006,0x000000ac,
0x3e83934d,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000ae,0x3ea14d58,
0x0004002b,0x00000006,0x000000af,0xbdba7977,
0x0004002b,0x00000006,0x000000b0,0x3d168101,
0x0004002b,0x00000006,0x000000b1,0x3e42ef8f,
0x0007002c,0x0000000c,0x000000b2,0x000000ae,
0x000000af,0x000000b0,0x000000b1,0x0004002b,
0x00000006,0x000000b3,0x3e8fa8b9,0x0004002b,
0x00000006,0x000000b4,0xbd361c8c,0x0004002b,
0x00000006,0x000000b5,0x3bc297fb,0x0004002b,
0x00000006,0x000000b6,0xbe846582,0x0007002c,
0x0000000c,0x000000b7,0x000000b3,0x000000b4,
0x000000b5,0x000000b6,0x0007002c,0x00000035,
0x000000b8,0x000000a8,0x000000ad,0x000000b2,
0x000000b7,0x0004002b,0x00000006,0x000000c0,
0xbdf957c3,0x0004002b,0x00000006,0x000000c1,
0x3c9d18e1,0x0004002b,0x00000006,0x000000c2,
0xbbd67a58,0x0004002b,0x00000006,0x000000c3,
0x3e0e75f1,0x0007002c,0x0000000c,0x000000c4,
0x000000c0,0x000000c1,0x000000c2,0x000000c3,
0x0004002b,0x00000006,0x000000c5,0x3dcc9436,
0x0004002b,0x00000006,0x000000c6,0xbc855d69,
0x0004002b,0x00000006,0x000000c7,0x3d4dbc1b,
0x0004002b,0x00000006,0x000000c8,0x3d179c9d,
0x0007002c,0x0000000c,0x000000c9,0x000000c5,
0x000000c6,0x000000c7,0x000000c8,0x0004002b,
0x00000006,0x000000ca,0x3cee3571,0x0004002b,
0x00000006,0x000000cb,0xbc231c5b,0x0004002b,
0x00000006,0x000000cc,0x3c697f53,0x0004002b,
0x00000006,0x000000cd,0x3dffb9d4,0x0007002c,
0x0000000c,0x000000ce,0x000000ca,0x000000cb,
0x000000cc,0x000000cd,0x0004002b,0x00000006,
0x000000cf,0xbbfc06f1,0x0004002b,0x00000006,
0x000000d0,0x3cce2725,0x0004002b,0x00000006,
0x000000d1,0x3e60508e,0x0004002b,0x00000006,
0x000000d2,0x3b03866a,0x0007002c,0x0000000c,
0x000000d3,0x000000cf,0x000000d0,0x000000d1,
0x000000d2,0x0007002c,0x00000035,0x000000d4,
0x000000c4,0x000000c9,0x000000ce,0x000000d3,
0x0004002b,0x00000006,0x000000da,0x3e8888c8,
0x0004002b,0x00000006,0x000000db,0xbe2673cf,
0x0004002b,0x00000006,0x000000dc,0xbec9aaa6,
0x0004002b,0x00000006,0x000000dd,0xbccff3ee,
0x0007002c,0x0000000c,0x000000de,0x000000da,
0x000000db,0x000000dc,0x000000dd,0x0004002b,
0x00000006,0x000000df,0x3dca2409,0x0004002b,
0x00000006,0x000000e0,0x3e503e09,0x0004002b,
0x00000006,0x000000e1,0x3ea0289f,0x0004002b,
0x00000006,0x000000e2,0x3eebf9b2,0x0007002c,
0x0000000c,0x000000e3,0x000000df,0x000000e0,
0x000000e1,0x000000e2,0x0004002b,0x00000006,
0x000000e4,0x3d7df411,0x0004002b,0x00000006,
0x000000e5,0xbe0e554c,0x0004002b,0x00000006,
0x000000e6,0xbe9e821a,0x0004002b,0x00000006,
0x000000e7,0xbece00f7,0x0007002c,0x0000000c,
0x000000e8,0x000000e4,0x000000e5,0x000000e6,
0x000000e7,0x0004002b,0x00000006,0x000000e9,
0xbde27697,0x0004002b,0x00000006,0x000000ea,
0x3de46f6e,0x0004002b,0x00000006,0x000000eb,
0x3eba5d90,0x0004002b,0x00000006,0x000000ec,
0x3d84393b,0x0007002c,0x0000000c,0x000000ed,
0x000000e9,0x000000ea,0x000000eb,0x000000ec,
0x0007002c,0x00000035,0x000000ee,0x000000de,
0x000000e3,0x000000e8,0x000000ed,0x0004002b,
0x00000006,0x000000f5,0xbe5ab6f6,0x0004002b,
0x00000006,0x000000f6,0xbdd409d4,0x0004002b,
0x00000006,0x000000f7,0x3e37cf8a,0x0004002b,
0x00000006,0x000000f8,0x3e3b356f,0x0007002c,
0x0000000c,0x000000f9,0x000000f5,0x000000f6,
0x000000f7,0x000000f8,0x0004002b,0x00000006,
0x000000fa,0x3d9ff21a,0x0004002b,0x00000006,
0x000000fb,0x3d867f7f,0x0004002b,0x00000006,
0x000000fc,0x3b5cb778,0x0004002b,0x00000006,
0x000000fd,0x3e0b66dc,0x0007002c,0x0000000c,
0x000000fe,0x000000fa,0x000000fb,0x000000fc,
0x000000fd,0x0004002b,0x00000006,0x000000ff,
0x3e2f6034,0x0004002b,0x00000006,0x00000100,
0xbc8d95ba,0x0004002b,0x00000006,0x00000101,
0xbd4db1bf,0x0004002b,0x00000006,0x00000102,
0x3e950359,0x0007002c,0x0000000c,0x00000103,
0x000000ff,0x00000100,0x00000101,0x00000102,
0x0004002b,0x00000006,0x00000104,0x3d8d9149,
0x0004002b,0x00000006,0x00000105,0x3e4637c2,
0x0004002b,0x00000006,0x00000106,0x3d8592ce,
0x0004002b,0x00000006,0x00000107,0x3e24af11,
0x0007002c,0x0000000c,0x00000108,0x00000104,
0x00000105,0x00000106,0x00000107,0x0007002c,
0x00000035,0x00000109,0x000000f9,0x000000fe,
0x00000103,0x00000108,0x0004002b,0x00000006,
0x0000010f,0x3f530858,0x0004002b,0x00000006,
0x00000110,0xbdc891d8,0x0004002b,0x00000006,
0x00000111,0xbd161119,0x0004002b,0x00000006,
0x00000112,0x3e2d499c,0x0007002c,0x0000000c,
0x00000113,0x0000010f,0x00000110,0x00000111,
0x00000112,0x0004002b,0x00000006,0x00000114,
0x3f0d41e9,0x0004002b,0x00000006,0x00000115,
0x3ea81050,0x0004002b,0x00000006,0x00000116,
0xbf4a6190,0x0004002b,0x00000006,0x00000117,
0xbee4806f,0x0007002c,0x0000000c,0x00000118,
0x00000114,0x00000115,0x00000116,0x00000117,
0x0004002b,0x00000006,0x00000119,0xbda47c89,
0x0004002b,0x00000006,0x0000011a,0x3df02142,
0x0004002b,0x00000006,0x0000011b,0x3e3ee83b,
0x0004002b,0x00000006,0x0000011c,0x3e16a1d3,
0x0007002c,0x0000000c,0x0000011d,0x00000119,
0x0000011a,0x0000011b,0x0000011c,0x0004002b,
0x00000006,0x0000011e,0x3e04b602,0x0004002b,
0x00000006,0x0000011f,0xbdcda3f4,0x0004002b,
0x00000006,0x00000120,0x3ea28482,0x0004002b,
0x00000006,0x00000121,0xbdf20697,0x0007002c,
0x0000000c,0x00000122,0x0000011e,0x0000011f,
0x00000120,0x00000121,0x0007002c,0x00000035,
0x00000123,0x00000113,0x00000118,0x0000011d,
0x00000122,0x0004002b,0x00000006,0x0000012a,
0x3cd47ac8,0x0004002b,0x00000006,0x0000012b,
0xbdbf72e8,0x0004002b,0x00000006,0x0000012c,
0x3e9a0dec,0x0004002b,0x00000006,0x0000012d,
0x3ecaa55a,0x0007002c,0x0000000c,0x0000012e,
0x0000012a,0x0000012b,0x0000012c,0x0000012d,
0x0004002b,0x00000006,0x0000012f,0xbecf4cb8,
0x0004002b,0x00000006,0x00000130,0x3e15b3b9,
0x0004002b,0x00000006,0x00000131,0xbe3a4685,
0x0004002b,0x00000006,0x00000132,0xbe437651,
0x0007002c,0x0000000c,0x00000133,0x0000012f,
0x00000130,0x00000131,0x00000132,0x0004002b,
0x00000006,0x00000134,0x3ea37dbc,0x0004002b,
0x00000006,0x00000135,0xbf3e6a55,0x0004002b,
0x00000006,0x00000136,0x3e448eca,0x0004002b,
0x00000006,0x00000137,0xbe5379af,0x0007002c,
0x0000000c,0x00000138,0x00000134,0x00000135,
0x00000136,0x00000137,0x0004002b,0x00000006,
0x00000139,0x3e336dd2,0x0004002b,0x00000006,
0x0000013a,0xbf2f1ade,0x0004002b,0x00000006,
0x0000013b,0x3e22aa13,0x0004002b,0x00000006,
0x0000013c,0xbeca8cef,0x0007002c,0x0000000c,
0x0000013d,0x00000139,0x0000013a,0x0000013b,
0x0000013c,0x0007002c,0x00000035,0x0000013e,
0x0000012e,0x00000133,0x00000138,0x0000013d,
0x0004002b,0x00000006,0x00000144,0x3e213910,
0x0004002b,0x00000006,0x00000145,0xbc3c4b15,
0x0004002b,0x00000006,0x00000146,0xbdf77490,
0x0004002b,0x00000006,0x00000147,0x3e52c438,
0x0007002c,0x0000000c,0x00000148,0x00000144,
0x00000145,0x00000146,0x00000147,0x0004002b,
0x00000006,0x00000149,0x3e936a5f,0x0004002b,
0x00000006,0x0000014a,0xbd2bfb26,0x0004002b,
0x00000006,0x0000014b,0xbe42c55a,0x0004002b,
0x00000006,0x0000014c,0xbe8b763a,0x0007002c,
0x0000000c,0x0000014d,0x00000149,0x0000014a,
0x0000014b,0x0000014c,0x0004002b,0x00000006,
0x0000014e,0xbdde7563,0x0004002b,0x00000006,
0x0000014f,0xbdb25d8d,0x0004002b,0x00000006,
0x00000150,0x3f5c4fe0,0x0004002b,0x00000006,
0x00000151,0x3e8804e1,0x0007002c,0x0000000c,
0x00000152,0x0000014e,0x0000014f,0x00000150,
0x00000151,0x0004002b,0x00000006,0x00000153,
0xbe295868,0x0004002b,0x00000006,0x00000154,
0x3da73214,0x0004002b,0x00000006,0x00000155,
0xbc61e31b,0x0004002b,0x00000006,0x00000156,
0x3e12d3a5,0x0007002c,0x0000000c,0x00000157,
0x00000153,0x00000154,0x00000155,0x00000156,
0x0007002c,0x00000035,0x00000158,0x00000148,
0x0000014d,0x00000152,0x00000157,0x0004002b,
0x00000006,0x0000015f,0xbe20595f,0x0004002b,
0x00000006,0x00000160,0xbcfbe558,0x0004002b,
0x00000006,0x00000161,0xbdd83016,0x0004002b,
0x00000006,0x00000162,0x3e83c498,0x0007002c,
0x0000000c,0x00000163,0x0000015f,0x00000160,
0x00000161,0x00000162,0x0004002b,0x00000006,
0x00000164,0xbdf30f9c,0x0004002b,0x00000006,
0x00000165,0x3de9c5ff,0x0004002b,0x00000006,
0x00000166,0xbcdf6ee9,0x0004002b,0x00000006,
0x00000167,0xbdd6dbd5,0x0007002c,0x0000000c,
0x00000168,0x00000164,0x00000165,0x00000166,
0x00000167,0x0004002b,0x00000006,0x00000169,
0x3e7a667e,0x0004002b,0x00000006,0x0000016a,
0xbb369cf4,0x0004002b,0x00000006,0x0000016b,
0xbe342e0e,0x0004002b,0x00000006,0x0000016c,
0xbe1f6f49,0x0007002c,0x0000000c,0x0000016d,
0x00000169,0x0000016a,0x0000016b,0x0000016c,
0x0004002b,0x00000006,0x0000016e,0x3d61884e,
0x0004002b,0x00000006,0x0000016f,0x3e2e8765,
0x0004002b,0x00000006,0x00000170,0x3daed486,
0x0004002b,0x00000006,0x00000171,0x3ea7fad9,
0x0007002c,0x0000000c,0x00000172,0x0000016e,
0x0000016f,0x00000170,0x00000171,0x0007002c,
0x00000035,0x00000173,0x00000163,0x00000168,
0x0000016d,0x00000172,0x0004002b,0x00000006,
0x00000179,0x3e159292,0x0004002b,0x00000006,
0x0000017a,0x3ed72525,0x0004002b,0x00000006,
0x0000017b,0xbeba4818,0x0004002b,0x00000006,
0x0000017c,0xbdc45375,0x0007002c,0x0000000c,
0x0000017d,0x00000179,0x0000017a,0x0000017b,
0x0000017c,0x0004002b,0x00000006,0x0000017e,
0xbd49bd07,0x0004002b,0x00000006,0x0000017f,
0xbebb9bda,0x0004002b,0x00000006,0x00000180,
0x3da2b00a,0x0004002b,0x00000006,0x00000181,
0x3d237009,0x0007002c,0x0000000c,0x00000182,
0x0000017e,0x0000017f,0x00000180,0x00000181,
0x0004002b,0x00000006,0x00000183,0x3d80dc19,
0x0004002b,0x00000006,0x00000184,0x3e2a497a,
0x0004002b,0x00000006,0x00000185,0xbdcd1b20,
0x0004002b,0x00000006,0x00000186,0xbd709fb9,
0x0007002c,0x0000000c,0x00000187,0x00000183,
0x00000184,0x00000185,0x00000186,0x0004002b,
0x00000006,0x00000188,0xbd2265ce,0x0004002b,
0x00000006,0x00000189,0x3ae306cf,0x0004002b,
0x00000006,0x0000018a,0x3d00fca7,0x0004002b,
0x00000006,0x0000018b,0xbca60d72,0x0007002c,
0x0000000c,0x0000018c,0x00000188,0x00000189,
0x0000018a,0x0000018b,0x0007002c,0x00000035,
0x0000018d,0x0000017d,0x00000182,0x00000187,
0x0000018c,0x0004002b,0x00000006,0x00000194,
0xbdc5824a,0x0004002b,0x00000006,0x00000195,
0x3d1bc768,0x0004002b,0x00000006,0x00000196,
0x3d22396d,0x0004002b,0x00000006,0x00000197,
0x3cd979c3,0x0007002c,0x0000000c,0x00000198,
0x00000194,0x00000195,0x00000196,0x00000197,
0x0004002b,0x00000006,0x00000199,0xbc8469d2,
0x0004002b,0x00000006,0x0000019a,0xbe3fc998,
0x0004002b,0x00000006,0x0000019b,0x3e2b020f,
0x0004002b,0x00000006,0x0000019c,0x3b411c8d,
0x0007002c,0x0000000c,0x0000019d,0x00000199,
0x0000019a,0x0000019b,0x0000019c,0x0004002b,
0x00000006,0x0000019e,0xbde004c9,0x0004002b,
0x00000006,0x0000019f,0xbeb9d0ad,0x0004002b,
0x00000006,0x000001a0,0xbd669a0b,0x0004002b,
0x00000006,0x000001a1,0x3e379224,0x0007002c,
0x0000000c,0x000001a2,0x0000019e,0x0000019f,
0x000001a0,0x000001a1,0x0004002b,0x00000006,
0x000001a3,0xbca7005a,0x0004002b,0x00000006,
0x000001a4,0x3dc9857b,0x0004002b,0x00000006,
0x000001a5,0x3bc00f13,0x0004002b,0x00000006,
0x000001a6,0x3e26a6c6,0x0007002c,0x0000000c,
0x000001a7,0x000001a3,0x000001a4,0x000001a5,
0x000001a6,0x0007002c,0x00000035,0x000001a8,
0x00000198,0x0000019d,0x000001a2,0x000001a7,
0x0004002b,0x00000006,0x000001ae,0xbde4f60c,
0x0004002b,0x00000006,0x000001af,0x3f41987b,
0x0004002b,0x00000006,0x000001b0,0xbe518930,
0x0004002b,0x00000006,0x000001b1,0x3e2bcfa1,
0x0007002c,0x0000000c,0x000001b2,0x000001ae,
0x000001af,0x000001b0,0x000001b1,0x0004002b,
0x00000006,0x000001b3,0xbe534d0d,0x0004002b,
0x00000006,0x000001b4,0xbf1a33e8,0x0004002b,
0x00000006,0x000001b5,0xbf12ec7c,0x0004002b,
0x00000006,0x000001b6,0x3f02d427,0x0007002c,
0x0000000c,0x000001b7,0x000001b3,0x000001b4,
0x000001b5,0x000001b6,0x0004002b,0x00000006,
0x000001b8,0xbd927cb1,0x0004002b,0x00000006,
0x000001b9,0xbe0cad2c,0x0004002b,0x00000006,
0x000001ba,0x3e00253c,0x0004002b,0x00000006,
0x000001bb,0xbd438f74,0x0007002c,0x0000000c,
0x000001bc,0x000001b8,0x000001b9,0x000001ba,
0x000001bb,0x0004002b,0x00000006,0x000001bd,
0x3efe05c6,0x0004002b,0x00000006,0x000001be,
0x3e89abc8,0x0004002b,0x00000006,0x000001bf,
0x3ea11767,0x0004002b,0x00000006,0x000001c0,
0xbf050c11,0x0007002c,0x0000000c,0x000001c1,
0x000001bd,0x000001be,0x000001bf,0x000001c0,
0x0007002c,0x00000035,0x000001c2,0x000001b2,
0x000001b7,0x000001bc,0x000001c1,0x0004002b,
0x00000006,0x000001c9,0xbe06a2d6,0x0004002b,
0x00000006,0x000001ca,0x3d98d685,0x0004002b,
0x00000006,0x000001cb,0x3eb108c2,0x0004002b,
0x00000006,0x000001cc,0x3e835216,0x0007002c,
0x0000000c,0x000001cd,0x000001c9,0x000001ca,
0x000001cb,0x000001cc,0x0004002b,0x00000006,
0x000001ce,0x3dabe72b,0x0004002b,0x00000006,
0x000001cf,0xbf1d183e,0x0004002b,0x00000006,
0x000001d0,0xbeede3eb,0x0004002b,0x00000006,
0x000001d1,0x3d7ac7b6,0x0007002c,0x0000000c,
0x000001d2,0x000001ce,0x000001cf,0x000001d0,
0x000001d1,0x0004002b,0x00000006,0x000001d3,
0xbe43a447,0x0004002b,0x00000006,0x000001d4,
0xbdbf8419,0x0004002b,0x00000006,0x000001d5,
0xbe786cec,0x0004002b,0x00000006,0x000001d6,
0x3e5757cf,0x0007002c,0x0000000c,0x000001d7,
0x000001d3,0x000001d4,0x000001d5,0x000001d6,
0x0004002b,0x00000006,0x000001d8,0x3e2150db,
0x0004002b,0x00000006,0x000001d9,0x3f1d5046,
0x0004002b,0x00000006,0x000001da,0x3eac7312,
0x0004002b,0x00000006,0x000001db,0xbdc77e85,
0x0007002c,0x0000000c,0x000001dc,0x000001d8,
0x000001d9,0x000001da,0x000001db,0x0007002c,
0x00000035,0x000001dd,0x000001cd,0x000001d2,
0x000001d7,0x000001dc,0x0004002b,0x00000006,
0x000001e3,0x3d678d9c,0x0004002b,0x00000006,
0x000001e4,0x3e751479,0x0004002b,0x00000006,
0x000001e5,0xbdbf10d5,0x0004002b,0x00000006,
0x000001e6,0x3e1f42d5,0x0007002c,0x0000000c,
0x000001e7,0x000001e3,0x000001e4,0x000001e5,
0x000001e6,0x0004002b,0x00000006,0x000001e8,
0x3c4af6aa,0x0004002b,0x00000006,0x000001e9,
0xbdff886c,0x0004002b,0x00000006,0x000001ea,
0xbd6743aa,0x0004002b,0x00000006,0x000001eb,
0xbde6904b,0x0007002c,0x0000000c,0x000001ec,
0x000001e8,0x000001e9,0x000001ea,0x000001eb,
0x0004002b,0x00000006,0x000001ed,0xbc2b609e,
0x0004002b,0x00000006,0x000001ee,0x3d45af5f,
0x0004002b,0x00000006,0x000001ef,0x3e6d34ee,
0x0004002b,0x00000006,0x000001f0,0x3dddf203,
0x0007002c,0x0000000c,0x000001f1,0x000001ed,
0x000001ee,0x000001ef,0x000001f0,0x0004002b,
0x00000006,0x000001f2,0xbd576adc,0x0004002b,
0x00000006,0x000001f3,0x3d83e39a,0x0004002b,
0x00000006,0x000001f4,0xbd575745,0x0004002b,
0x00000006,0x000001f5,0xbd4e21bb,0x0007002c,
0x0000000c,0x000001f6,0x000001f2,0x000001f3,
0x000001f4,0x000001f5,0x0007002c,0x00000035,
0x000001f7,0x000001e7,0x000001ec,0x000001f1,
0x000001f6,0x0004002b,0x00000006,0x000001fe,
0xbe3bf107,0x0004002b,0x00000006,0x000001ff,
0x3dc85e44,0x0004002b,0x00000006,0x00000200,
0xbde3b35e,0x0004002b,0x00000006,0x00000201,
0x3e57fe03,0x0007002c,0x0000000c,0x00000202,
0x000001fe,0x000001ff,0x00000200,0x00000201,
0x0004002b,0x00000006,0x00000203,0x3d50a3a0,
0x0004002b,0x00000006,0x00000204,0xbe4c0d17,
0x0004002b,0x00000006,0x00000205,0x3d8ad70b,
0x0004002b,0x00000006,0x00000206,0xbdb22e5a,
0x0007002c,0x0000000c,0x00000207,0x00000203,
0x00000204,0x00000205,0x00000206,0x0004002b,
0x00000006,0x00000208,0xbd28dcd0,0x0004002b,
0x00000006,0x00000209,0xbd8ee494,0x0004002b,
0x00000006,0x0000020a,0xbdc61e40,0x0004002b,
0x00000006,0x0000020b,0x3c60f761,0x0007002c,
0x0000000c,0x0000020c,0x00000208,0x00000209,
0x0000020a,0x0000020b,0x0004002b,0x00000006,
0x0000020d,0x3ca057a5,0x0004002b,0x00000006,
0x0000020e,0x3d2808cc,0x0004002b,0x00000006,
0x0000020f,0x3decff24,0x0004002b,0x00000006,
0x00000210,0x3e69d40c,0x0007002c,0x0000000c,
0x00000211,0x0000020d,0x0000020e,0x0000020f,
0x00000210,0x0007002c,0x00000035,0x00000212,
0x00000202,0x00000207,0x0000020c,0x00000211,
0x0007002c,0x0000000c,0x00000219,0x00000083,
0x00000083,0x00000083,0x00000083,0x0004002b,
0x00000006,0x0000021b,0x3e4bee7c,0x0004002b,
0x00000006,0x0000021c,0xbe02a332,0x0004002b,
0x00000006,0x0000021d,0xbd7f2007,0x0004002b,
0x00000006,0x0000021e,0x3e2271ba,0x0007002c,
0x0000000c,0x0000021f,0x0000021b,0x0000021c,
0x0000021d,0x0000021e,0x00040015,0x00000227,
0x00000020,0x00000000,0x00040017,0x00000228,
0x00000227,0x00000003,0x00040020,0x00000229,
0x00000001,0x00000228,0x0004003b,0x00000229,
0x0000022a,0x00000001,0x00040017,0x0000022b,
0x00000227,0x00000002,0x00020014,0x0000022f,
0x0004002b,0x00000227,0x00000230,0x00000000,
0x00040020,0x00000234,0x00000009,0x00000016,
0x0004002b,0x00000227,0x0000023b,0x00000001,
0x00090019,0x00000245,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x00000246,0x00000000,
0x00000245,0x0004003b,0x00000246,0x00000247,
0x00000000,0x0004002b,0x00000227,0x0000024b,
0x00000010,0x0006002c,0x00000228,0x0000024c,
0x0000024b,0x0000024b,0x0000023b,0x0004002b,
0x00000016,0x000003b8,0xffffffff,0x0005002c,
0x00000017,0x000003b9,0x000003b8,0x000003b8,
0x0005002c,0x00000017,0x000003ba,0x00000026,
0x00000026,0x0005002c,0x00000017,0x000003bb,
0x000003b8,0x0000001e,0x0005002c,0x00000017,
0x000003bc,0x000003b8,0x00000026,0x0005002c,
0x00000017,0x000003bd,0x0000001e,0x000003b8,
0x0005002c,0x00000017,0x000003be,0x0000001e,
0x00000026,0x0005002c,0x00000017,0x000003bf,
0x00000026,0x000003b8,0x0005002c,0x00000017,
0x000003c0,0x00000026,0x0000001e,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x000300f7,0x0000024e,
0x00000000,0x000300fb,0x00000230,0x0000024f,
0x000200f8,0x0000024f,0x0004003d,0x00000228,
0x0000022c,0x0000022a,0x0007004f,0x0000022b,
0x0000022d,0x0000022c,0x0000022c,0x00000000,
0x00000001,0x0004007c,0x00000017,0x0000022e,
0x0000022d,0x00050051,0x00000016,0x00000233,
0x0000022e,0x00000000,0x00060041,0x00000234,
0x00000235,0x00000022,0x0000001e,0x00000230,
0x0004003d,0x00000016,0x00000236,0x00000235,
0x000500af,0x0000022f,0x00000237,0x00000233,
0x00000236,0x000400a8,0x0000022f,0x00000238,
0x00000237,0x000300f7,0x0000023a,0x00000000,
0x000400fa,0x00000238,0x00000239,0x0000023a,
0x000200f8,0x00000239,0x00050051,0x00000016,
0x0000023d,0x0000022e,0x00000001,0x00060041,
0x00000234,0x0000023e,0x00000022,0x0000001e,
0x0000023b,0x0004003d,0x00000016,0x0000023f,
0x0000023e,0x000500af,0x0000022f,0x00000240,
0x0000023d,0x0000023f,0x000200f9,0x0000023a,
0x000200f8,0x0000023a,0x000700f5,0x0000022f,
0x00000241,0x00000237,0x0000024f,0x00000240,
0x00000239,0x000300f7,0x00000243,0x00000000,
0x000400fa,0x00000241,0x00000242,0x00000243,
0x000200f8,0x00000242,0x000200f9,0x0000024e,
0x000200f8,0x00000243,0x0004003d,0x00000245,
0x00000248,0x00000247,0x0004003d,0x00000008,
0x000002ba,0x0000004b,0x00050080,0x00000017,
0x000002be,0x0000022e,0x000003b9,0x00050041,
0x00000023,0x000002bf,0x00000022,0x0000001e,
0x0004003d,0x00000017,0x000002c0,0x000002bf,
0x00050082,0x00000017,0x000002c2,0x000002c0,
0x000003ba,0x0008000c,0x00000017,0x000002c3,
0x00000001,0x0000002d,0x000002be,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x000002c4,
0x000002ba,0x0007005f,0x0000000c,0x000002c5,
0x000002c4,0x000002c3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000026a,0x0000004a,
0x000002c5,0x00050081,0x0000000c,0x0000026c,
0x00000034,0x0000026a,0x0004003d,0x00000008,
0x000002c8,0x00000068,0x00040064,0x00000007,
0x000002d2,0x000002c8,0x0007005f,0x0000000c,
0x000002d3,0x000002d2,0x000002c3,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000026e,
0x00000067,0x000002d3,0x00050081,0x0000000c,
0x00000270,0x0000026c,0x0000026e,0x0004003d,
0x00000008,0x000002d6,0x0000004b,0x00050080,
0x00000017,0x000002da,0x0000022e,0x000003bb,
0x0008000c,0x00000017,0x000002df,0x00000001,
0x0000002d,0x000002da,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000002e0,0x000002d6,
0x0007005f,0x0000000c,0x000002e1,0x000002e0,
0x000002df,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000272,0x00000082,0x000002e1,
0x00050081,0x0000000c,0x00000274,0x00000270,
0x00000272,0x0004003d,0x00000008,0x000002e4,
0x00000068,0x00040064,0x00000007,0x000002ee,
0x000002e4,0x0007005f,0x0000000c,0x000002ef,
0x000002ee,0x000002df,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x00000276,0x0000009e,
0x000002ef,0x00050081,0x0000000c,0x00000278,
0x00000274,0x00000276,0x0004003d,0x00000008,
0x000002f2,0x0000004b,0x00050080,0x00000017,
0x000002f6,0x0000022e,0x000003bc,0x0008000c,
0x00000017,0x000002fb,0x00000001,0x0000002d,
0x000002f6,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x000002fc,0x000002f2,0x0007005f,
0x0000000c,0x000002fd,0x000002fc,0x000002fb,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000027a,0x000000b8,0x000002fd,0x00050081,
0x0000000c,0x0000027c,0x00000278,0x0000027a,
0x0004003d,0x00000008,0x00000300,0x00000068,
0x00040064,0x00000007,0x0000030a,0x00000300,
0x0007005f,0x0000000c,0x0000030b,0x0000030a,
0x000002fb,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000027e,0x000000d4,0x0000030b,
0x00050081,0x0000000c,0x00000280,0x0000027c,
0x0000027e,0x0004003d,0x00000008,0x0000030e,
0x0000004b,0x00050080,0x00000017,0x00000312,
0x0000022e,0x000003bd,0x0008000c,0x00000017,
0x00000317,0x00000001,0x0000002d,0x00000312,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x00000318,0x0000030e,0x0007005f,0x0000000c,
0x00000319,0x00000318,0x00000317,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x00000282,
0x000000ee,0x00000319,0x00050081,0x0000000c,
0x00000284,0x00000280,0x00000282,0x0004003d,
0x00000008,0x0000031c,0x00000068,0x00040064,
0x00000007,0x00000326,0x0000031c,0x0007005f,
0x0000000c,0x00000327,0x00000326,0x00000317,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000286,0x00000109,0x00000327,0x00050081,
0x0000000c,0x00000288,0x00000284,0x00000286,
0x0004003d,0x00000008,0x0000032a,0x0000004b,
0x0008000c,0x00000017,0x00000333,0x00000001,
0x0000002d,0x0000022e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x00000334,0x0000032a,
0x0007005f,0x0000000c,0x00000335,0x00000334,
0x00000333,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000028a,0x00000123,0x00000335,
0x00050081,0x0000000c,0x0000028c,0x00000288,
0x0000028a,0x0004003d,0x00000008,0x00000338,
0x00000068,0x00040064,0x00000007,0x00000342,
0x00000338,0x0007005f,0x0000000c,0x00000343,
0x00000342,0x00000333,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000028e,0x0000013e,
0x00000343,0x00050081,0x0000000c,0x00000290,
0x0000028c,0x0000028e,0x0004003d,0x00000008,
0x00000346,0x0000004b,0x00050080,0x00000017,
0x0000034a,0x0000022e,0x000003be,0x0008000c,
0x00000017,0x0000034f,0x00000001,0x0000002d,
0x0000034a,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x00000350,0x00000346,0x0007005f,
0x0000000c,0x00000351,0x00000350,0x0000034f,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000292,0x00000158,0x00000351,0x00050081,
0x0000000c,0x00000294,0x00000290,0x00000292,
0x0004003d,0x00000008,0x00000354,0x00000068,
0x00040064,0x00000007,0x0000035e,0x00000354,
0x0007005f,0x0000000c,0x0000035f,0x0000035e,
0x0000034f,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000296,0x00000173,0x0000035f,
0x00050081,0x0000000c,0x00000298,0x00000294,
0x00000296,0x0004003d,0x00000008,0x00000362,
0x0000004b,0x00050080,0x00000017,0x00000366,
0x0000022e,0x000003bf,0x0008000c,0x00000017,
0x0000036b,0x00000001,0x0000002d,0x00000366,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x0000036c,0x00000362,0x0007005f,0x0000000c,
0x0000036d,0x0000036c,0x0000036b,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000029a,
0x0000018d,0x0000036d,0x00050081,0x0000000c,
0x0000029c,0x00000298,0x0000029a,0x0004003d,
0x00000008,0x00000370,0x00000068,0x00040064,
0x00000007,0x0000037a,0x00000370,0x0007005f,
0x0000000c,0x0000037b,0x0000037a,0x0000036b,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000029e,0x000001a8,0x0000037b,0x00050081,
0x0000000c,0x000002a0,0x0000029c,0x0000029e,
0x0004003d,0x00000008,0x0000037e,0x0000004b,
0x00050080,0x00000017,0x00000382,0x0000022e,
0x000003c0,0x0008000c,0x00000017,0x00000387,
0x00000001,0x0000002d,0x00000382,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x00000388,
0x0000037e,0x0007005f,0x0000000c,0x00000389,
0x00000388,0x00000387,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002a2,0x000001c2,
0x00000389,0x00050081,0x0000000c,0x000002a4,
0x000002a0,0x000002a2,0x0004003d,0x00000008,
0x0000038c,0x00000068,0x00040064,0x00000007,
0x00000396,0x0000038c,0x0007005f,0x0000000c,
0x00000397,0x00000396,0x00000387,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x000002a6,
0x000001dd,0x00000397,0x00050081,0x0000000c,
0x000002a8,0x000002a4,0x000002a6,0x0004003d,
0x00000008,0x0000039a,0x0000004b,0x00050080,
0x00000017,0x0000039e,0x0000022e,0x000003ba,
0x0008000c,0x00000017,0x000003a3,0x00000001,
0x0000002d,0x0000039e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000003a4,0x0000039a,
0x0007005f,0x0000000c,0x000003a5,0x000003a4,
0x000003a3,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x000002aa,0x000001f7,0x000003a5,
0x00050081,0x0000000c,0x000002ac,0x000002a8,
0x000002aa,0x0004003d,0x00000008,0x000003a8,
0x00000068,0x00040064,0x00000007,0x000003b2,
0x000003a8,0x0007005f,0x0000000c,0x000003b3,
0x000003b2,0x000003a3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002ae,0x00000212,
0x000003b3,0x00050081,0x0000000c,0x000002b0,
0x000002ac,0x000002ae,0x0007000c,0x0000000c,
0x000002b2,0x00000001,0x00000028,0x000002b0,
0x00000219,0x0007000c,0x0000000c,0x000002b4,
0x00000001,0x00000025,0x000002b0,0x00000219,
0x00050085,0x0000000c,0x000002b5,0x0000021f,
0x000002b4,0x00050081,0x0000000c,0x000002b6,
0x000002b2,0x000002b5,0x00040063,0x00000248,
0x0000022e,0x000002b6,0x000200f9,0x0000024e,
0x000200f8,0x0000024e,0x000100fd,0x00010038}
+46
View File
@@ -0,0 +1,46 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: mapping 3_2. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define MODEL1_texOff(o) fetch_(in0, vec2(o))
#define MODEL2_texOff(o) fetch_(in1, vec2(o))
vec4 hook()
{
vec4 res = vec4(-0.0089084329083562,-0.0336172059178352,0.0177190825343132,0.0529975406825542);
res += mat4(-0.0275970958173275,0.0141968233510852,0.1181544512510300,-0.0572245270013809,0.1161347925662994,-0.1156444773077965,-0.2549640238285065,0.0882879272103310,-0.0715355500578880,0.0151285668835044,0.1079384386539459,0.0650847703218460,-0.1597152203321457,0.0669793561100960,0.2084401696920395,-0.0951152443885803) * MODEL1_texOff(vec2(-1,-1));
res += mat4(0.0404323227703571,-0.0206144321709871,-0.1080420613288879,-0.2038477361202240,0.0248847268521786,-0.0064681121148169,0.0389525443315506,0.0011026862775907,0.0885242074728012,0.0295896343886852,-0.3323790132999420,0.1935138553380966,-0.0466548874974251,0.1023886054754257,0.1257870644330978,-0.1541756242513657) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.0076520540751517,0.0361139886081219,0.1749804913997650,-0.2051989138126373,0.0022692133206874,-0.0282937753945589,-0.2039019316434860,-0.2343468815088272,-0.0357327871024609,-0.0570764988660812,0.2925858795642853,-0.1988349705934525,-0.0584560707211494,-0.0341510921716690,0.1300961822271347,0.5184492468833923) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.0884973928332329,0.0333527140319347,0.0180535931140184,-0.2655122876167297,0.0433661043643951,0.0104369185864925,0.0010909073753282,-0.0705273598432541,-0.0602585524320602,0.2420269846916199,-0.4731841087341309,-0.8040290474891663,0.3066828548908234,-0.2466925680637360,0.0938910692930222,-0.2002603262662888) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.0549152903258801,0.0291299298405647,0.0946277007460594,-0.0581608228385448,0.0669180899858475,-0.0635575056076050,-0.2427970170974731,-0.2677550315856934,0.2226776182651520,0.1301570236682892,-0.1519709974527359,0.0671724304556847,-0.0526433289051056,0.1898351758718491,0.2383745312690735,0.2191711813211441) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.0234222635626793,0.0238620284944773,0.0427630320191383,-0.1080563366413116,0.0332126952707767,-0.0039051575586200,0.0293126031756401,0.0161924213171005,0.0453971028327942,0.0131999952718616,-0.0689036697149277,0.2349009960889816,0.1013344153761864,0.2706570029258728,0.1191426888108253,-0.2830821871757507) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.0181465242058039,-0.0571886636316776,0.4875229001045227,-0.4244020283222198,0.4331104159355164,0.1066712513566017,-0.5277034044265747,0.1110567077994347,-0.1179447323083878,-0.0273578558117151,0.1798476576805115,-0.2829602360725403,0.1012385115027428,-0.2528488039970398,0.1697608679533005,0.1121710017323494) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.1404130905866623,-0.0984055623412132,-0.0279541295021772,-0.1321212500333786,-0.0841855704784393,0.1336171030998230,-0.1458790600299835,-0.0044095455668867,0.2203754037618637,0.1455714553594589,-0.2362042963504791,-0.0329121425747871,-0.1683547794818878,0.0289597529917955,0.3424547612667084,0.0143845872953534) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.0287246014922857,0.1948280781507492,0.5998955368995667,0.1192114129662514,-0.6269109249114990,0.8724324703216553,-0.6399638652801514,-0.4201497733592987,-0.3355066180229187,-0.1566904038190842,-0.4396412074565887,0.1525828838348389,0.5573399066925049,0.2324324846267700,0.2762884795665741,0.0406046211719513) * MODEL1_texOff(vec2(0,0));
res += mat4(0.3890096545219421,-0.0574061162769794,-0.1468243300914764,-0.5953360199928284,-0.1363215148448944,-0.2224670499563217,-0.2237723320722580,0.2738097012042999,-0.4868114292621613,-0.5029351711273193,-0.3570256233215332,-0.1776263266801834,-0.0176672954112291,-0.4318660795688629,1.0395888090133667,0.1728395074605942) * MODEL2_texOff(vec2(0,0));
res += mat4(0.1337304115295410,-0.0809440389275551,0.1600498855113983,-0.1108811497688293,-0.2376178801059723,-0.1532768607139587,-0.0447455830872059,0.2515332102775574,0.4848278462886810,-0.0915748402476311,-0.0336527302861214,-0.2141884714365005,0.2125129699707031,0.3237875998020172,0.0022272330243140,-0.0167857185006142) * MODEL1_texOff(vec2(0,1));
res += mat4(0.0457934997975826,0.0510537698864937,-0.0519523508846760,-0.4506326615810394,-0.1029204949736595,0.0116113182157278,-0.1750748157501221,-0.0048758201301098,0.1506977379322052,0.0633068457245827,-0.1628549993038177,-0.0144928665831685,0.1408756822347641,0.2896180152893066,0.0803691521286964,-0.4930096566677094) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.0484248884022236,0.1371297985315323,-0.1235475391149521,-0.2618594765663147,-0.0280395895242691,0.0248795989900827,0.1204105168581009,0.3246576189994812,0.0426272377371788,-0.0520061068236828,0.0575957447290421,-0.2613646090030670,0.1165295541286469,-0.0390013493597507,-0.0470846109092236,-0.0014663023175672) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.1066762879490852,-0.0869804695248604,-0.0099332248792052,-0.1355892717838287,-0.0760413780808449,0.1377770304679871,-0.0263407956808805,0.0880135521292686,0.1496269851922989,-0.0487459264695644,0.1286851912736893,0.2218491584062576,0.1723349541425705,-0.0165541302412748,-0.0690477639436722,-0.2388458102941513) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.4236431121826172,0.0465179122984409,-0.1526456624269485,0.1426440477371216,0.5913932919502258,-0.1082349196076393,0.2731275856494904,-0.2687640488147736,-0.4628683030605316,-0.0537119321525097,-0.1597615629434586,0.0528527684509754,-0.3485085070133209,0.1395110934972763,0.0642972290515900,0.0323829315602779) * MODEL1_texOff(vec2(1,0));
res += mat4(0.0066713397391140,-0.0482029877603054,-0.1707276403903961,-0.1001396998763084,0.0539822019636631,-0.1624453216791153,0.4913550019264221,0.3687861263751984,0.0491421781480312,0.1311376541852951,0.0992425829172134,-0.4636098444461823,-0.3415873646736145,-0.0153833786025643,-0.0270162131637335,-0.0935514941811562) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.1738258153200150,0.0458541549742222,-0.0653749182820320,-0.0156540926545858,-0.0357586294412613,-0.1486178338527679,0.1798035055398941,-0.1310307979583740,0.0783249065279961,-0.0261360015720129,-0.1047066971659660,0.3385537564754486,-0.0339452810585499,0.2299628853797913,-0.1408322304487228,-0.0352708548307419) * MODEL1_texOff(vec2(1,1));
res += mat4(0.0463018082082272,0.0565674640238285,-0.0538956597447395,-0.2354862987995148,0.0297824125736952,0.0307939313352108,0.1271791011095047,-0.1025698855519295,0.1060482114553452,-0.0703211054205894,-0.0083062350749969,0.0474255047738552,0.0442508421838284,0.1569559425115585,-0.0442709513008595,-0.1188704669475555) * MODEL2_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.7366524934768677,1.0013850927352905,-0.0276311747729778,0.0734841898083687) * min(res, vec4(0.0));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+703
View File
@@ -0,0 +1,703 @@
{0x07230203,0x00010000,0x000d000b,0x000003c1,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000022a,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000022a,0x0000000b,0x0000001c,
0x00030047,0x00000247,0x00000019,0x00040047,
0x00000247,0x00000021,0x00000000,0x00040047,
0x00000247,0x00000022,0x00000000,0x00040047,
0x0000024c,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0xbc11f4ad,0x0004002b,
0x00000006,0x00000031,0xbd09b232,0x0004002b,
0x00000006,0x00000032,0x3c91279c,0x0004002b,
0x00000006,0x00000033,0x3d5913f3,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0xbce2134e,0x0004002b,0x00000006,
0x00000037,0x3c6899cb,0x0004002b,0x00000006,
0x00000038,0x3df1faf6,0x0004002b,0x00000006,
0x00000039,0xbd6a6444,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0x3dedd814,0x0004002b,0x00000006,0x0000003c,
0xbdecd703,0x0004002b,0x00000006,0x0000003d,
0xbe828aa5,0x0004002b,0x00000006,0x0000003e,
0x3db4d04d,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0xbd92813b,
0x0004002b,0x00000006,0x00000041,0x3c77ddcf,
0x0004002b,0x00000006,0x00000042,0x3ddd0ed4,
0x0004002b,0x00000006,0x00000043,0x3d854b2a,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0xbe238c63,0x0004002b,
0x00000006,0x00000046,0x3d892c79,0x0004002b,
0x00000006,0x00000047,0x3e557157,0x0004002b,
0x00000006,0x00000048,0xbdc2cbc8,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x00000053,
0x3d259c5d,0x0004002b,0x00000006,0x00000054,
0xbca8df99,0x0004002b,0x00000006,0x00000055,
0xbddd4528,0x0004002b,0x00000006,0x00000056,
0xbe50bd76,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0x3ccbdb0e,
0x0004002b,0x00000006,0x00000059,0xbbd3f275,
0x0004002b,0x00000006,0x0000005a,0x3d1f8cb4,
0x0004002b,0x00000006,0x0000005b,0x3a908803,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0x3db54c2e,0x0004002b,
0x00000006,0x0000005e,0x3cf265f6,0x0004002b,
0x00000006,0x0000005f,0xbeaa2d95,0x0004002b,
0x00000006,0x00000060,0x3e46287f,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0xbd3f1932,0x0004002b,0x00000006,
0x00000063,0x3dd1b11e,0x0004002b,0x00000006,
0x00000064,0x3e00ce53,0x0004002b,0x00000006,
0x00000065,0xbe1de037,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004002b,0x00000006,0x0000006e,0xbbfabe15,
0x0004002b,0x00000006,0x0000006f,0x3d13ec43,
0x0004002b,0x00000006,0x00000070,0x3e332e16,
0x0004002b,0x00000006,0x00000071,0xbe521faa,
0x0007002c,0x0000000c,0x00000072,0x0000006e,
0x0000006f,0x00000070,0x00000071,0x0004002b,
0x00000006,0x00000073,0x3b14b715,0x0004002b,
0x00000006,0x00000074,0xbce7c859,0x0004002b,
0x00000006,0x00000075,0xbe50cbab,0x0004002b,
0x00000006,0x00000076,0xbe6ff8a1,0x0007002c,
0x0000000c,0x00000077,0x00000073,0x00000074,
0x00000075,0x00000076,0x0004002b,0x00000006,
0x00000078,0xbd125c8b,0x0004002b,0x00000006,
0x00000079,0xbd69c90c,0x0004002b,0x00000006,
0x0000007a,0x3e95cdd1,0x0004002b,0x00000006,
0x0000007b,0xbe4b9b65,0x0007002c,0x0000000c,
0x0000007c,0x00000078,0x00000079,0x0000007a,
0x0000007b,0x0004002b,0x00000006,0x0000007d,
0xbd6f6fa2,0x0004002b,0x00000006,0x0000007e,
0xbd0be204,0x0004002b,0x00000006,0x0000007f,
0x3e0537ef,0x0004002b,0x00000006,0x00000080,
0x3f04b917,0x0007002c,0x0000000c,0x00000081,
0x0000007d,0x0000007e,0x0000007f,0x00000080,
0x0007002c,0x00000035,0x00000082,0x00000072,
0x00000077,0x0000007c,0x00000081,0x0004002b,
0x00000006,0x00000083,0x00000000,0x0004002b,
0x00000006,0x0000008a,0x3db53e1f,0x0004002b,
0x00000006,0x0000008b,0x3d089cdb,0x0004002b,
0x00000006,0x0000008c,0x3c93e521,0x0004002b,
0x00000006,0x0000008d,0xbe87f13a,0x0007002c,
0x0000000c,0x0000008e,0x0000008a,0x0000008b,
0x0000008c,0x0000008d,0x0004002b,0x00000006,
0x0000008f,0x3d31a0a8,0x0004002b,0x00000006,
0x00000090,0x3c2aff9c,0x0004002b,0x00000006,
0x00000091,0x3a8efcc7,0x0004002b,0x00000006,
0x00000092,0xbd9070a6,0x0007002c,0x0000000c,
0x00000093,0x0000008f,0x00000090,0x00000091,
0x00000092,0x0004002b,0x00000006,0x00000094,
0xbd76d1ac,0x0004002b,0x00000006,0x00000095,
0x3e77d5ec,0x0004002b,0x00000006,0x00000096,
0xbef24530,0x0004002b,0x00000006,0x00000097,
0xbf4dd4d9,0x0007002c,0x0000000c,0x00000098,
0x00000094,0x00000095,0x00000096,0x00000097,
0x0004002b,0x00000006,0x00000099,0x3e9d0589,
0x0004002b,0x00000006,0x0000009a,0xbe7c9cfa,
0x0004002b,0x00000006,0x0000009b,0x3dc049f6,
0x0004002b,0x00000006,0x0000009c,0xbe4d110b,
0x0007002c,0x0000000c,0x0000009d,0x00000099,
0x0000009a,0x0000009b,0x0000009c,0x0007002c,
0x00000035,0x0000009e,0x0000008e,0x00000093,
0x00000098,0x0000009d,0x0004002b,0x00000006,
0x000000a4,0x3d60eedb,0x0004002b,0x00000006,
0x000000a5,0x3ceea1e4,0x0004002b,0x00000006,
0x000000a6,0x3dc1cc2b,0x0004002b,0x00000006,
0x000000a7,0xbd6e3a0b,0x0007002c,0x0000000c,
0x000000a8,0x000000a4,0x000000a5,0x000000a6,
0x000000a7,0x0004002b,0x00000006,0x000000a9,
0x3d890c5a,0x0004002b,0x00000006,0x000000aa,
0xbd822a70,0x0004002b,0x00000006,0x000000ab,
0xbe789fc8,0x0004002b,0x00000006,0x000000ac,
0xbe891730,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000ae,0x3e64059a,
0x0004002b,0x00000006,0x000000af,0x3e0547e2,
0x0004002b,0x00000006,0x000000b0,0xbe1b9e49,
0x0004002b,0x00000006,0x000000b1,0x3d8991b3,
0x0007002c,0x0000000c,0x000000b2,0x000000ae,
0x000000af,0x000000b0,0x000000b1,0x0004002b,
0x00000006,0x000000b3,0xbd57a088,0x0004002b,
0x00000006,0x000000b4,0x3e426427,0x0004002b,
0x00000006,0x000000b5,0x3e741874,0x0004002b,
0x00000006,0x000000b6,0x3e606e69,0x0007002c,
0x0000000c,0x000000b7,0x000000b3,0x000000b4,
0x000000b5,0x000000b6,0x0007002c,0x00000035,
0x000000b8,0x000000a8,0x000000ad,0x000000b2,
0x000000b7,0x0004002b,0x00000006,0x000000c0,
0xbcbfe00c,0x0004002b,0x00000006,0x000000c1,
0x3cc37a4d,0x0004002b,0x00000006,0x000000c2,
0x3d2f284a,0x0004002b,0x00000006,0x000000c3,
0xbddd4ca4,0x0007002c,0x0000000c,0x000000c4,
0x000000c0,0x000000c1,0x000000c2,0x000000c3,
0x0004002b,0x00000006,0x000000c5,0x3d080a09,
0x0004002b,0x00000006,0x000000c6,0xbb7fedac,
0x0004002b,0x00000006,0x000000c7,0x3cf020fc,
0x0004002b,0x00000006,0x000000c8,0x3c84a5f8,
0x0007002c,0x0000000c,0x000000c9,0x000000c5,
0x000000c6,0x000000c7,0x000000c8,0x0004002b,
0x00000006,0x000000ca,0x3d39f250,0x0004002b,
0x00000006,0x000000cb,0x3c5844cb,0x0004002b,
0x00000006,0x000000cc,0xbd8d1d5e,0x0004002b,
0x00000006,0x000000cd,0x3e7089e3,0x0007002c,
0x0000000c,0x000000ce,0x000000ca,0x000000cb,
0x000000cc,0x000000cd,0x0004002b,0x00000006,
0x000000cf,0x3dcf886b,0x0004002b,0x00000006,
0x000000d0,0x3e8a938e,0x0004002b,0x00000006,
0x000000d1,0x3df40115,0x0004002b,0x00000006,
0x000000d2,0xbe90f026,0x0007002c,0x0000000c,
0x000000d3,0x000000cf,0x000000d0,0x000000d1,
0x000000d2,0x0007002c,0x00000035,0x000000d4,
0x000000c4,0x000000c9,0x000000ce,0x000000d3,
0x0004002b,0x00000006,0x000000da,0x3c94a805,
0x0004002b,0x00000006,0x000000db,0xbd6a3ea9,
0x0004002b,0x00000006,0x000000dc,0x3ef99c9a,
0x0004002b,0x00000006,0x000000dd,0xbed94b39,
0x0007002c,0x0000000c,0x000000de,0x000000da,
0x000000db,0x000000dc,0x000000dd,0x0004002b,
0x00000006,0x000000df,0x3eddc0a6,0x0004002b,
0x00000006,0x000000e0,0x3dda7675,0x0004002b,
0x00000006,0x000000e1,0xbf071792,0x0004002b,
0x00000006,0x000000e2,0x3de371b3,0x0007002c,
0x0000000c,0x000000e3,0x000000df,0x000000e0,
0x000000e1,0x000000e2,0x0004002b,0x00000006,
0x000000e4,0xbdf18d02,0x0004002b,0x00000006,
0x000000e5,0xbce01d95,0x0004002b,0x00000006,
0x000000e6,0x3e3829fc,0x0004002b,0x00000006,
0x000000e7,0xbe90e02a,0x0007002c,0x0000000c,
0x000000e8,0x000000e4,0x000000e5,0x000000e6,
0x000000e7,0x0004002b,0x00000006,0x000000e9,
0x3dcf5623,0x0004002b,0x00000006,0x000000ea,
0xbe817566,0x0004002b,0x00000006,0x000000eb,
0x3e2dd5cb,0x0004002b,0x00000006,0x000000ec,
0x3de5b9e9,0x0007002c,0x0000000c,0x000000ed,
0x000000e9,0x000000ea,0x000000eb,0x000000ec,
0x0007002c,0x00000035,0x000000ee,0x000000de,
0x000000e3,0x000000e8,0x000000ed,0x0004002b,
0x00000006,0x000000f5,0xbe0fc873,0x0004002b,
0x00000006,0x000000f6,0xbdc988db,0x0004002b,
0x00000006,0x000000f7,0xbce5000f,0x0004002b,
0x00000006,0x000000f8,0xbe074acb,0x0007002c,
0x0000000c,0x000000f9,0x000000f5,0x000000f6,
0x000000f7,0x000000f8,0x0004002b,0x00000006,
0x000000fa,0xbdac697c,0x0004002b,0x00000006,
0x000000fb,0x3e08d2ec,0x0004002b,0x00000006,
0x000000fc,0xbe156152,0x0004002b,0x00000006,
0x000000fd,0xbb907df3,0x0007002c,0x0000000c,
0x000000fe,0x000000fa,0x000000fb,0x000000fc,
0x000000fd,0x0004002b,0x00000006,0x000000ff,
0x3e61aa17,0x0004002b,0x00000006,0x00000100,
0x3e1510af,0x0004002b,0x00000006,0x00000101,
0xbe71df8a,0x0004002b,0x00000006,0x00000102,
0xbd06cee2,0x0007002c,0x0000000c,0x00000103,
0x000000ff,0x00000100,0x00000101,0x00000102,
0x0004002b,0x00000006,0x00000104,0xbe2c6532,
0x0004002b,0x00000006,0x00000105,0x3ced3d01,
0x0004002b,0x00000006,0x00000106,0x3eaf563b,
0x0004002b,0x00000006,0x00000107,0x3c6bad55,
0x0007002c,0x0000000c,0x00000108,0x00000104,
0x00000105,0x00000106,0x00000107,0x0007002c,
0x00000035,0x00000109,0x000000f9,0x000000fe,
0x00000103,0x00000108,0x0004002b,0x00000006,
0x0000010f,0x3ceb4fdb,0x0004002b,0x00000006,
0x00000110,0x3e478103,0x0004002b,0x00000006,
0x00000111,0x3f1992c1,0x0004002b,0x00000006,
0x00000112,0x3df4251d,0x0007002c,0x0000000c,
0x00000113,0x0000010f,0x00000110,0x00000111,
0x00000112,0x0004002b,0x00000006,0x00000114,
0xbf207d3c,0x0004002b,0x00000006,0x00000115,
0x3f5f57bc,0x0004002b,0x00000006,0x00000116,
0xbf23d4ac,0x0004002b,0x00000006,0x00000117,
0xbed71ddf,0x0007002c,0x0000000c,0x00000118,
0x00000114,0x00000115,0x00000116,0x00000117,
0x0004002b,0x00000006,0x00000119,0xbeabc786,
0x0004002b,0x00000006,0x0000011a,0xbe207373,
0x0004002b,0x00000006,0x0000011b,0xbee118a7,
0x0004002b,0x00000006,0x0000011c,0x3e1c3eb0,
0x0007002c,0x0000000c,0x0000011d,0x00000119,
0x0000011a,0x0000011b,0x0000011c,0x0004002b,
0x00000006,0x0000011e,0x3f0eadd4,0x0004002b,
0x00000006,0x0000011f,0x3e6e02c8,0x0004002b,
0x00000006,0x00000120,0x3e8d75af,0x0004002b,
0x00000006,0x00000121,0x3d265108,0x0007002c,
0x0000000c,0x00000122,0x0000011e,0x0000011f,
0x00000120,0x00000121,0x0007002c,0x00000035,
0x00000123,0x00000113,0x00000118,0x0000011d,
0x00000122,0x0004002b,0x00000006,0x0000012a,
0x3ec72c46,0x0004002b,0x00000006,0x0000012b,
0xbd6b22ad,0x0004002b,0x00000006,0x0000012c,
0xbe16591e,0x0004002b,0x00000006,0x0000012d,
0xbf1867f1,0x0007002c,0x0000000c,0x0000012e,
0x0000012a,0x0000012b,0x0000012c,0x0000012d,
0x0004002b,0x00000006,0x0000012f,0xbe0b97de,
0x0004002b,0x00000006,0x00000130,0xbe63ce67,
0x0004002b,0x00000006,0x00000131,0xbe652493,
0x0004002b,0x00000006,0x00000132,0x3e8c30c9,
0x0007002c,0x0000000c,0x00000133,0x0000012f,
0x00000130,0x00000131,0x00000132,0x0004002b,
0x00000006,0x00000134,0xbef93f59,0x0004002b,
0x00000006,0x00000135,0xbf00c05c,0x0004002b,
0x00000006,0x00000136,0xbeb6cc10,0x0004002b,
0x00000006,0x00000137,0xbe35e3ad,0x0007002c,
0x0000000c,0x00000138,0x00000134,0x00000135,
0x00000136,0x00000137,0x0004002b,0x00000006,
0x00000139,0xbc90bb01,0x0004002b,0x00000006,
0x0000013a,0xbedd1d8d,0x0004002b,0x00000006,
0x0000013b,0x3f85113f,0x0004002b,0x00000006,
0x0000013c,0x3e30fcd7,0x0007002c,0x0000000c,
0x0000013d,0x00000139,0x0000013a,0x0000013b,
0x0000013c,0x0007002c,0x00000035,0x0000013e,
0x0000012e,0x00000133,0x00000138,0x0000013d,
0x0004002b,0x00000006,0x00000144,0x3e08f0a0,
0x0004002b,0x00000006,0x00000145,0xbda5c5fd,
0x0004002b,0x00000006,0x00000146,0x3e23e41e,
0x0004002b,0x00000006,0x00000147,0xbde315a8,
0x0007002c,0x0000000c,0x00000148,0x00000144,
0x00000145,0x00000146,0x00000147,0x0004002b,
0x00000006,0x00000149,0xbe73521a,0x0004002b,
0x00000006,0x0000014a,0xbe1cf49c,0x0004002b,
0x00000006,0x0000014b,0xbd374725,0x0004002b,
0x00000006,0x0000014c,0x3e80c8f6,0x0007002c,
0x0000000c,0x0000014d,0x00000149,0x0000014a,
0x0000014b,0x0000014c,0x0004002b,0x00000006,
0x0000014e,0x3ef83b5b,0x0004002b,0x00000006,
0x0000014f,0xbdbb8b97,0x0004002b,0x00000006,
0x00000150,0xbd09d772,0x0004002b,0x00000006,
0x00000151,0xbe5b5439,0x0007002c,0x0000000c,
0x00000152,0x0000014e,0x0000014f,0x00000150,
0x00000151,0x0004002b,0x00000006,0x00000153,
0x3e599d00,0x0004002b,0x00000006,0x00000154,
0x3ea5c77d,0x0004002b,0x00000006,0x00000155,
0x3b11f6c5,0x0004002b,0x00000006,0x00000156,
0xbc898234,0x0007002c,0x0000000c,0x00000157,
0x00000153,0x00000154,0x00000155,0x00000156,
0x0007002c,0x00000035,0x00000158,0x00000148,
0x0000014d,0x00000152,0x00000157,0x0004002b,
0x00000006,0x0000015f,0x3d3b91f7,0x0004002b,
0x00000006,0x00000160,0x3d511dc2,0x0004002b,
0x00000006,0x00000161,0xbd54cbfd,0x0004002b,
0x00000006,0x00000162,0xbee6b953,0x0007002c,
0x0000000c,0x00000163,0x0000015f,0x00000160,
0x00000161,0x00000162,0x0004002b,0x00000006,
0x00000164,0xbdd2c7fb,0x0004002b,0x00000006,
0x00000165,0x3c3e3d66,0x0004002b,0x00000006,
0x00000166,0xbe3346d0,0x0004002b,0x00000006,
0x00000167,0xbb9fc558,0x0007002c,0x0000000c,
0x00000168,0x00000164,0x00000165,0x00000166,
0x00000167,0x0004002b,0x00000006,0x00000169,
0x3e1a5082,0x0004002b,0x00000006,0x0000016a,
0x3d81a705,0x0004002b,0x00000006,0x0000016b,
0xbe26c376,0x0004002b,0x00000006,0x0000016c,
0xbc6d737d,0x0007002c,0x0000000c,0x0000016d,
0x00000169,0x0000016a,0x0000016b,0x0000016c,
0x0004002b,0x00000006,0x0000016e,0x3e1041b7,
0x0004002b,0x00000006,0x0000016f,0x3e9448d0,
0x0004002b,0x00000006,0x00000170,0x3da49895,
0x0004002b,0x00000006,0x00000171,0xbefc6bc3,
0x0007002c,0x0000000c,0x00000172,0x0000016e,
0x0000016f,0x00000170,0x00000171,0x0007002c,
0x00000035,0x00000173,0x00000163,0x00000168,
0x0000016d,0x00000172,0x0004002b,0x00000006,
0x00000179,0xbd46592d,0x0004002b,0x00000006,
0x0000017a,0x3e0c6bc1,0x0004002b,0x00000006,
0x0000017b,0xbdfd067e,0x0004002b,0x00000006,
0x0000017c,0xbe861272,0x0007002c,0x0000000c,
0x0000017d,0x00000179,0x0000017a,0x0000017b,
0x0000017c,0x0004002b,0x00000006,0x0000017e,
0xbce5b348,0x0004002b,0x00000006,0x0000017f,
0x3ccbd04d,0x0004002b,0x00000006,0x00000180,
0x3df699ca,0x0004002b,0x00000006,0x00000181,
0x3ea63986,0x0007002c,0x0000000c,0x00000182,
0x0000017e,0x0000017f,0x00000180,0x00000181,
0x0004002b,0x00000006,0x00000183,0x3d2e99e6,
0x0004002b,0x00000006,0x00000184,0xbd55045b,
0x0004002b,0x00000006,0x00000185,0x3d6be984,
0x0004002b,0x00000006,0x00000186,0xbe85d195,
0x0007002c,0x0000000c,0x00000187,0x00000183,
0x00000184,0x00000185,0x00000186,0x0004002b,
0x00000006,0x00000188,0x3deea70c,0x0004002b,
0x00000006,0x00000189,0xbd1fbfe1,0x0004002b,
0x00000006,0x0000018a,0xbd40dbcb,0x0004002b,
0x00000006,0x0000018b,0xbac030f1,0x0007002c,
0x0000000c,0x0000018c,0x00000188,0x00000189,
0x0000018a,0x0000018b,0x0007002c,0x00000035,
0x0000018d,0x0000017d,0x00000182,0x00000187,
0x0000018c,0x0004002b,0x00000006,0x00000194,
0xbdda7919,0x0004002b,0x00000006,0x00000195,
0xbdb222d1,0x0004002b,0x00000006,0x00000196,
0xbc22bef7,0x0004002b,0x00000006,0x00000197,
0xbe0ad7ea,0x0007002c,0x0000000c,0x00000198,
0x00000194,0x00000195,0x00000196,0x00000197,
0x0004002b,0x00000006,0x00000199,0xbd9bbb95,
0x0004002b,0x00000006,0x0000019a,0x3e0d156c,
0x0004002b,0x00000006,0x0000019b,0xbcd7c8a7,
0x0004002b,0x00000006,0x0000019c,0x3db44073,
0x0007002c,0x0000000c,0x0000019d,0x00000199,
0x0000019a,0x0000019b,0x0000019c,0x0004002b,
0x00000006,0x0000019e,0x3e1937d1,0x0004002b,
0x00000006,0x0000019f,0xbd47a9cf,0x0004002b,
0x00000006,0x000001a0,0x3e03c60d,0x0004002b,
0x00000006,0x000001a1,0x3e632c6d,0x0007002c,
0x0000000c,0x000001a2,0x0000019e,0x0000019f,
0x000001a0,0x000001a1,0x0004002b,0x00000006,
0x000001a3,0x3e307893,0x0004002b,0x00000006,
0x000001a4,0xbc879c87,0x0004002b,0x00000006,
0x000001a5,0xbd8d68ea,0x0004002b,0x00000006,
0x000001a6,0xbe7493ff,0x0007002c,0x0000000c,
0x000001a7,0x000001a3,0x000001a4,0x000001a5,
0x000001a6,0x0007002c,0x00000035,0x000001a8,
0x00000198,0x0000019d,0x000001a2,0x000001a7,
0x0004002b,0x00000006,0x000001ae,0xbed8e7c0,
0x0004002b,0x00000006,0x000001af,0x3d3e8991,
0x0004002b,0x00000006,0x000001b0,0xbe1c4f25,
0x0004002b,0x00000006,0x000001b1,0x3e121148,
0x0007002c,0x0000000c,0x000001b2,0x000001ae,
0x000001af,0x000001b0,0x000001b1,0x0004002b,
0x00000006,0x000001b3,0x3f17658d,0x0004002b,
0x00000006,0x000001b4,0xbdddaa45,0x0004002b,
0x00000006,0x000001b5,0x3e8bd761,0x0004002b,
0x00000006,0x000001b6,0xbe899b71,0x0007002c,
0x0000000c,0x000001b7,0x000001b3,0x000001b4,
0x000001b5,0x000001b6,0x0004002b,0x00000006,
0x000001b8,0xbeecfd13,0x0004002b,0x00000006,
0x000001b9,0xbd5c010b,0x0004002b,0x00000006,
0x000001ba,0xbe239889,0x0004002b,0x00000006,
0x000001bb,0x3d587c25,0x0007002c,0x0000000c,
0x000001bc,0x000001b8,0x000001b9,0x000001ba,
0x000001bb,0x0004002b,0x00000006,0x000001bd,
0xbeb26fb5,0x0004002b,0x00000006,0x000001be,
0x3e0edbff,0x0004002b,0x00000006,0x000001bf,
0x3d83ae44,0x0004002b,0x00000006,0x000001c0,
0x3d04a3f7,0x0007002c,0x0000000c,0x000001c1,
0x000001bd,0x000001be,0x000001bf,0x000001c0,
0x0007002c,0x00000035,0x000001c2,0x000001b2,
0x000001b7,0x000001bc,0x000001c1,0x0004002b,
0x00000006,0x000001c9,0x3bda9b41,0x0004002b,
0x00000006,0x000001ca,0xbd45707f,0x0004002b,
0x00000006,0x000001cb,0xbe2ed33a,0x0004002b,
0x00000006,0x000001cc,0xbdcd160b,0x0007002c,
0x0000000c,0x000001cd,0x000001c9,0x000001ca,
0x000001cb,0x000001cc,0x0004002b,0x00000006,
0x000001ce,0x3d5d1c71,0x0004002b,0x00000006,
0x000001cf,0xbe265811,0x0004002b,0x00000006,
0x000001d0,0x3efb92e2,0x0004002b,0x00000006,
0x000001d1,0x3ebcd189,0x0007002c,0x0000000c,
0x000001d2,0x000001ce,0x000001cf,0x000001d0,
0x000001d1,0x0004002b,0x00000006,0x000001d3,
0x3d49494f,0x0004002b,0x00000006,0x000001d4,
0x3e0648f3,0x0004002b,0x00000006,0x000001d5,
0x3dcb3fb2,0x0004002b,0x00000006,0x000001d6,
0xbeed5e45,0x0007002c,0x0000000c,0x000001d7,
0x000001d3,0x000001d4,0x000001d5,0x000001d6,
0x0004002b,0x00000006,0x000001d8,0xbeaee48a,
0x0004002b,0x00000006,0x000001d9,0xbc7c0a91,
0x0004002b,0x00000006,0x000001da,0xbcdd511b,
0x0004002b,0x00000006,0x000001db,0xbdbf97ed,
0x0007002c,0x0000000c,0x000001dc,0x000001d8,
0x000001d9,0x000001da,0x000001db,0x0007002c,
0x00000035,0x000001dd,0x000001cd,0x000001d2,
0x000001d7,0x000001dc,0x0004002b,0x00000006,
0x000001e3,0xbe31ff65,0x0004002b,0x00000006,
0x000001e4,0x3d3bd191,0x0004002b,0x00000006,
0x000001e5,0xbd85e349,0x0004002b,0x00000006,
0x000001e6,0xbc803d03,0x0007002c,0x0000000c,
0x000001e7,0x000001e3,0x000001e4,0x000001e5,
0x000001e6,0x0004002b,0x00000006,0x000001e8,
0xbd1277a4,0x0004002b,0x00000006,0x000001e9,
0xbe182f46,0x0004002b,0x00000006,0x000001ea,
0x3e381e69,0x0004002b,0x00000006,0x000001eb,
0xbe062cf0,0x0007002c,0x0000000c,0x000001ec,
0x000001e8,0x000001e9,0x000001ea,0x000001eb,
0x0004002b,0x00000006,0x000001ed,0x3da068cf,
0x0004002b,0x00000006,0x000001ee,0xbcd61b2b,
0x0004002b,0x00000006,0x000001ef,0xbdd67077,
0x0004002b,0x00000006,0x000001f0,0x3ead56eb,
0x0007002c,0x0000000c,0x000001f1,0x000001ed,
0x000001ee,0x000001ef,0x000001f0,0x0004002b,
0x00000006,0x000001f2,0xbd0b0a35,0x0004002b,
0x00000006,0x000001f3,0x3e6b7b64,0x0004002b,
0x00000006,0x000001f4,0xbe103653,0x0004002b,
0x00000006,0x000001f5,0xbd10782c,0x0007002c,
0x0000000c,0x000001f6,0x000001f2,0x000001f3,
0x000001f4,0x000001f5,0x0007002c,0x00000035,
0x000001f7,0x000001e7,0x000001ec,0x000001f1,
0x000001f6,0x0004002b,0x00000006,0x000001fe,
0x3d3da6f7,0x0004002b,0x00000006,0x000001ff,
0x3d67b349,0x0004002b,0x00000006,0x00000200,
0xbd5cc1b2,0x0004002b,0x00000006,0x00000201,
0xbe712352,0x0007002c,0x0000000c,0x00000202,
0x000001fe,0x000001ff,0x00000200,0x00000201,
0x0004002b,0x00000006,0x00000203,0x3cf3fa3f,
0x0004002b,0x00000006,0x00000204,0x3cfc438e,
0x0004002b,0x00000006,0x00000205,0x3e023b3d,
0x0004002b,0x00000006,0x00000206,0xbdd21029,
0x0007002c,0x0000000c,0x00000207,0x00000203,
0x00000204,0x00000205,0x00000206,0x0004002b,
0x00000006,0x00000208,0x3dd92fce,0x0004002b,
0x00000006,0x00000209,0xbd900483,0x0004002b,
0x00000006,0x0000020a,0xbc0816e0,0x0004002b,
0x00000006,0x0000020b,0x3d42413f,0x0007002c,
0x0000000c,0x0000020c,0x00000208,0x00000209,
0x0000020a,0x0000020b,0x0004002b,0x00000006,
0x0000020d,0x3d35405f,0x0004002b,0x00000006,
0x0000020e,0x3e20b90f,0x0004002b,0x00000006,
0x0000020f,0xbd355575,0x0004002b,0x00000006,
0x00000210,0xbdf3725c,0x0007002c,0x0000000c,
0x00000211,0x0000020d,0x0000020e,0x0000020f,
0x00000210,0x0007002c,0x00000035,0x00000212,
0x00000202,0x00000207,0x0000020c,0x00000211,
0x0007002c,0x0000000c,0x00000219,0x00000083,
0x00000083,0x00000083,0x00000083,0x0004002b,
0x00000006,0x0000021b,0x3f3c9542,0x0004002b,
0x00000006,0x0000021c,0x3f802d63,0x0004002b,
0x00000006,0x0000021d,0xbce25ac6,0x0004002b,
0x00000006,0x0000021e,0x3d967ee1,0x0007002c,
0x0000000c,0x0000021f,0x0000021b,0x0000021c,
0x0000021d,0x0000021e,0x00040015,0x00000227,
0x00000020,0x00000000,0x00040017,0x00000228,
0x00000227,0x00000003,0x00040020,0x00000229,
0x00000001,0x00000228,0x0004003b,0x00000229,
0x0000022a,0x00000001,0x00040017,0x0000022b,
0x00000227,0x00000002,0x00020014,0x0000022f,
0x0004002b,0x00000227,0x00000230,0x00000000,
0x00040020,0x00000234,0x00000009,0x00000016,
0x0004002b,0x00000227,0x0000023b,0x00000001,
0x00090019,0x00000245,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x00000246,0x00000000,
0x00000245,0x0004003b,0x00000246,0x00000247,
0x00000000,0x0004002b,0x00000227,0x0000024b,
0x00000010,0x0006002c,0x00000228,0x0000024c,
0x0000024b,0x0000024b,0x0000023b,0x0004002b,
0x00000016,0x000003b8,0xffffffff,0x0005002c,
0x00000017,0x000003b9,0x000003b8,0x000003b8,
0x0005002c,0x00000017,0x000003ba,0x00000026,
0x00000026,0x0005002c,0x00000017,0x000003bb,
0x000003b8,0x0000001e,0x0005002c,0x00000017,
0x000003bc,0x000003b8,0x00000026,0x0005002c,
0x00000017,0x000003bd,0x0000001e,0x000003b8,
0x0005002c,0x00000017,0x000003be,0x0000001e,
0x00000026,0x0005002c,0x00000017,0x000003bf,
0x00000026,0x000003b8,0x0005002c,0x00000017,
0x000003c0,0x00000026,0x0000001e,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x000300f7,0x0000024e,
0x00000000,0x000300fb,0x00000230,0x0000024f,
0x000200f8,0x0000024f,0x0004003d,0x00000228,
0x0000022c,0x0000022a,0x0007004f,0x0000022b,
0x0000022d,0x0000022c,0x0000022c,0x00000000,
0x00000001,0x0004007c,0x00000017,0x0000022e,
0x0000022d,0x00050051,0x00000016,0x00000233,
0x0000022e,0x00000000,0x00060041,0x00000234,
0x00000235,0x00000022,0x0000001e,0x00000230,
0x0004003d,0x00000016,0x00000236,0x00000235,
0x000500af,0x0000022f,0x00000237,0x00000233,
0x00000236,0x000400a8,0x0000022f,0x00000238,
0x00000237,0x000300f7,0x0000023a,0x00000000,
0x000400fa,0x00000238,0x00000239,0x0000023a,
0x000200f8,0x00000239,0x00050051,0x00000016,
0x0000023d,0x0000022e,0x00000001,0x00060041,
0x00000234,0x0000023e,0x00000022,0x0000001e,
0x0000023b,0x0004003d,0x00000016,0x0000023f,
0x0000023e,0x000500af,0x0000022f,0x00000240,
0x0000023d,0x0000023f,0x000200f9,0x0000023a,
0x000200f8,0x0000023a,0x000700f5,0x0000022f,
0x00000241,0x00000237,0x0000024f,0x00000240,
0x00000239,0x000300f7,0x00000243,0x00000000,
0x000400fa,0x00000241,0x00000242,0x00000243,
0x000200f8,0x00000242,0x000200f9,0x0000024e,
0x000200f8,0x00000243,0x0004003d,0x00000245,
0x00000248,0x00000247,0x0004003d,0x00000008,
0x000002ba,0x0000004b,0x00050080,0x00000017,
0x000002be,0x0000022e,0x000003b9,0x00050041,
0x00000023,0x000002bf,0x00000022,0x0000001e,
0x0004003d,0x00000017,0x000002c0,0x000002bf,
0x00050082,0x00000017,0x000002c2,0x000002c0,
0x000003ba,0x0008000c,0x00000017,0x000002c3,
0x00000001,0x0000002d,0x000002be,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x000002c4,
0x000002ba,0x0007005f,0x0000000c,0x000002c5,
0x000002c4,0x000002c3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000026a,0x0000004a,
0x000002c5,0x00050081,0x0000000c,0x0000026c,
0x00000034,0x0000026a,0x0004003d,0x00000008,
0x000002c8,0x00000068,0x00040064,0x00000007,
0x000002d2,0x000002c8,0x0007005f,0x0000000c,
0x000002d3,0x000002d2,0x000002c3,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000026e,
0x00000067,0x000002d3,0x00050081,0x0000000c,
0x00000270,0x0000026c,0x0000026e,0x0004003d,
0x00000008,0x000002d6,0x0000004b,0x00050080,
0x00000017,0x000002da,0x0000022e,0x000003bb,
0x0008000c,0x00000017,0x000002df,0x00000001,
0x0000002d,0x000002da,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000002e0,0x000002d6,
0x0007005f,0x0000000c,0x000002e1,0x000002e0,
0x000002df,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000272,0x00000082,0x000002e1,
0x00050081,0x0000000c,0x00000274,0x00000270,
0x00000272,0x0004003d,0x00000008,0x000002e4,
0x00000068,0x00040064,0x00000007,0x000002ee,
0x000002e4,0x0007005f,0x0000000c,0x000002ef,
0x000002ee,0x000002df,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x00000276,0x0000009e,
0x000002ef,0x00050081,0x0000000c,0x00000278,
0x00000274,0x00000276,0x0004003d,0x00000008,
0x000002f2,0x0000004b,0x00050080,0x00000017,
0x000002f6,0x0000022e,0x000003bc,0x0008000c,
0x00000017,0x000002fb,0x00000001,0x0000002d,
0x000002f6,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x000002fc,0x000002f2,0x0007005f,
0x0000000c,0x000002fd,0x000002fc,0x000002fb,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000027a,0x000000b8,0x000002fd,0x00050081,
0x0000000c,0x0000027c,0x00000278,0x0000027a,
0x0004003d,0x00000008,0x00000300,0x00000068,
0x00040064,0x00000007,0x0000030a,0x00000300,
0x0007005f,0x0000000c,0x0000030b,0x0000030a,
0x000002fb,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000027e,0x000000d4,0x0000030b,
0x00050081,0x0000000c,0x00000280,0x0000027c,
0x0000027e,0x0004003d,0x00000008,0x0000030e,
0x0000004b,0x00050080,0x00000017,0x00000312,
0x0000022e,0x000003bd,0x0008000c,0x00000017,
0x00000317,0x00000001,0x0000002d,0x00000312,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x00000318,0x0000030e,0x0007005f,0x0000000c,
0x00000319,0x00000318,0x00000317,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x00000282,
0x000000ee,0x00000319,0x00050081,0x0000000c,
0x00000284,0x00000280,0x00000282,0x0004003d,
0x00000008,0x0000031c,0x00000068,0x00040064,
0x00000007,0x00000326,0x0000031c,0x0007005f,
0x0000000c,0x00000327,0x00000326,0x00000317,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000286,0x00000109,0x00000327,0x00050081,
0x0000000c,0x00000288,0x00000284,0x00000286,
0x0004003d,0x00000008,0x0000032a,0x0000004b,
0x0008000c,0x00000017,0x00000333,0x00000001,
0x0000002d,0x0000022e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x00000334,0x0000032a,
0x0007005f,0x0000000c,0x00000335,0x00000334,
0x00000333,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000028a,0x00000123,0x00000335,
0x00050081,0x0000000c,0x0000028c,0x00000288,
0x0000028a,0x0004003d,0x00000008,0x00000338,
0x00000068,0x00040064,0x00000007,0x00000342,
0x00000338,0x0007005f,0x0000000c,0x00000343,
0x00000342,0x00000333,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000028e,0x0000013e,
0x00000343,0x00050081,0x0000000c,0x00000290,
0x0000028c,0x0000028e,0x0004003d,0x00000008,
0x00000346,0x0000004b,0x00050080,0x00000017,
0x0000034a,0x0000022e,0x000003be,0x0008000c,
0x00000017,0x0000034f,0x00000001,0x0000002d,
0x0000034a,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x00000350,0x00000346,0x0007005f,
0x0000000c,0x00000351,0x00000350,0x0000034f,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000292,0x00000158,0x00000351,0x00050081,
0x0000000c,0x00000294,0x00000290,0x00000292,
0x0004003d,0x00000008,0x00000354,0x00000068,
0x00040064,0x00000007,0x0000035e,0x00000354,
0x0007005f,0x0000000c,0x0000035f,0x0000035e,
0x0000034f,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000296,0x00000173,0x0000035f,
0x00050081,0x0000000c,0x00000298,0x00000294,
0x00000296,0x0004003d,0x00000008,0x00000362,
0x0000004b,0x00050080,0x00000017,0x00000366,
0x0000022e,0x000003bf,0x0008000c,0x00000017,
0x0000036b,0x00000001,0x0000002d,0x00000366,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x0000036c,0x00000362,0x0007005f,0x0000000c,
0x0000036d,0x0000036c,0x0000036b,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000029a,
0x0000018d,0x0000036d,0x00050081,0x0000000c,
0x0000029c,0x00000298,0x0000029a,0x0004003d,
0x00000008,0x00000370,0x00000068,0x00040064,
0x00000007,0x0000037a,0x00000370,0x0007005f,
0x0000000c,0x0000037b,0x0000037a,0x0000036b,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000029e,0x000001a8,0x0000037b,0x00050081,
0x0000000c,0x000002a0,0x0000029c,0x0000029e,
0x0004003d,0x00000008,0x0000037e,0x0000004b,
0x00050080,0x00000017,0x00000382,0x0000022e,
0x000003c0,0x0008000c,0x00000017,0x00000387,
0x00000001,0x0000002d,0x00000382,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x00000388,
0x0000037e,0x0007005f,0x0000000c,0x00000389,
0x00000388,0x00000387,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002a2,0x000001c2,
0x00000389,0x00050081,0x0000000c,0x000002a4,
0x000002a0,0x000002a2,0x0004003d,0x00000008,
0x0000038c,0x00000068,0x00040064,0x00000007,
0x00000396,0x0000038c,0x0007005f,0x0000000c,
0x00000397,0x00000396,0x00000387,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x000002a6,
0x000001dd,0x00000397,0x00050081,0x0000000c,
0x000002a8,0x000002a4,0x000002a6,0x0004003d,
0x00000008,0x0000039a,0x0000004b,0x00050080,
0x00000017,0x0000039e,0x0000022e,0x000003ba,
0x0008000c,0x00000017,0x000003a3,0x00000001,
0x0000002d,0x0000039e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000003a4,0x0000039a,
0x0007005f,0x0000000c,0x000003a5,0x000003a4,
0x000003a3,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x000002aa,0x000001f7,0x000003a5,
0x00050081,0x0000000c,0x000002ac,0x000002a8,
0x000002aa,0x0004003d,0x00000008,0x000003a8,
0x00000068,0x00040064,0x00000007,0x000003b2,
0x000003a8,0x0007005f,0x0000000c,0x000003b3,
0x000003b2,0x000003a3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002ae,0x00000212,
0x000003b3,0x00050081,0x0000000c,0x000002b0,
0x000002ac,0x000002ae,0x0007000c,0x0000000c,
0x000002b2,0x00000001,0x00000028,0x000002b0,
0x00000219,0x0007000c,0x0000000c,0x000002b4,
0x00000001,0x00000025,0x000002b0,0x00000219,
0x00050085,0x0000000c,0x000002b5,0x0000021f,
0x000002b4,0x00050081,0x0000000c,0x000002b6,
0x000002b2,0x000002b5,0x00040063,0x00000248,
0x0000022e,0x000002b6,0x000200f9,0x0000024e,
0x000200f8,0x0000024e,0x000100fd,0x00010038}
+46
View File
@@ -0,0 +1,46 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: mapping 4_1. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define MODEL21_texOff(o) fetch_(in0, vec2(o))
#define MODEL22_texOff(o) fetch_(in1, vec2(o))
vec4 hook()
{
vec4 res = vec4(-0.1306160986423492,-0.0808217376470566,-0.2880123555660248,0.0099629526957870);
res += mat4(-0.1033539846539497,0.0541300140321255,-0.0804840475320816,-0.0334571413695812,-0.0264753755182028,0.1118840202689171,0.1186013221740723,-0.0127575425431132,0.2236593365669250,0.0025286162272096,0.0985530614852905,0.0685181617736816,-0.1884875595569611,0.0530862808227539,-0.0482063069939613,0.0375233069062233) * MODEL21_texOff(vec2(-1,-1));
res += mat4(0.1837068796157837,-0.0632847175002098,0.0016613919287920,0.0392861217260361,0.2923883199691772,-0.1713902205228806,0.1907587945461273,0.0550456829369068,0.0644215345382690,-0.1046456992626190,0.0187383033335209,0.0770180150866508,0.1933846622705460,-0.0455715768039227,0.0375007353723049,-0.1053109914064407) * MODEL22_texOff(vec2(-1,-1));
res += mat4(-0.0972480997443199,0.2820451855659485,0.0114549007266760,-0.0954328626394272,0.0706252008676529,0.4829064607620239,-0.6371517181396484,0.0005180989392102,0.3280143439769745,0.0665246024727821,-0.0503116399049759,-0.1261110603809357,0.1114177703857422,-0.2053108513355255,0.1428771317005157,0.3926100134849548) * MODEL21_texOff(vec2(-1,0));
res += mat4(-0.2571723163127899,0.1627264618873596,-0.4940335154533386,-0.1361546218395233,0.0804422944784164,-0.4231885373592377,0.0650202706456184,0.0518481098115444,-0.0502478554844856,-0.1305799931287766,0.1814480125904083,0.0090866927057505,-0.0510044656693935,-0.1691461503505707,0.0922467112541199,-0.0314207412302494) * MODEL22_texOff(vec2(-1,0));
res += mat4(0.1270498335361481,0.0563284493982792,-0.0435525141656399,0.1569847911596298,0.0576847903430462,0.3461692929267883,-0.0325655154883862,-0.2688976824283600,-0.1341977864503860,-0.1382253766059875,0.2293784171342850,-0.1111817285418510,-0.1402447521686554,-0.3257531225681305,0.0598510466516018,0.1008039116859436) * MODEL21_texOff(vec2(-1,1));
res += mat4(0.1698816716670990,0.3491003513336182,-0.1367681026458740,-0.1165873408317566,-0.2091718912124634,-0.1487034261226654,-0.0569749698042870,-0.2100717276334763,0.0404917001724243,-0.1372035890817642,0.0689046755433083,-0.0367818064987659,-0.0325474888086319,-0.0114965448155999,-0.0137249026447535,-0.0279692262411118) * MODEL22_texOff(vec2(-1,1));
res += mat4(-0.0563433989882469,0.0132494345307350,-0.2434540390968323,0.0796563774347305,-0.2109155058860779,0.0387088693678379,-0.0591037571430206,0.0955820381641388,0.4660535752773285,-0.1204202473163605,0.1332369595766068,-0.0285425651818514,-0.3886952698230743,-0.0434980578720570,-0.0849134400486946,0.0802380964159966) * MODEL21_texOff(vec2(0,-1));
res += mat4(0.0412235632538795,0.1571959257125854,0.2050069272518158,-0.1138664111495018,0.1962715685367584,0.0594439841806889,0.0351715497672558,-0.0129811102524400,0.2055217623710632,-0.0647534057497978,0.0373471938073635,0.0877277255058289,-0.5734645724296570,0.1188675239682198,-0.1145943328738213,-0.1182733029127121) * MODEL22_texOff(vec2(0,-1));
res += mat4(-0.2004909217357635,-0.4817073047161102,0.5596802830696106,-0.0327854752540588,0.0989314392209053,0.4127818942070007,0.7265836596488953,-0.2692042589187622,0.5195841789245605,-0.2357539832592010,-0.3819393217563629,0.1755530238151550,0.6578183770179749,0.1075539961457253,-0.2688144743442535,0.3242723941802979) * MODEL21_texOff(vec2(0,0));
res += mat4(-0.3221310675144196,0.2978510260581970,0.2269985526800156,-0.3184116482734680,0.4845580160617828,0.4407236874103546,0.0099756307899952,-0.3121858239173889,-0.3810067176818848,-0.0553649961948395,0.0202834140509367,0.0409953594207764,0.2532750964164734,0.2731618583202362,0.1237529441714287,0.0134243080392480) * MODEL22_texOff(vec2(0,0));
res += mat4(0.1835541725158691,0.0549701862037182,-0.1749316602945328,-0.2030028849840164,0.0263462308794260,0.2781440317630768,0.0372458845376968,0.3643021881580353,-0.4047883749008179,0.0660117194056511,0.4863115549087524,-0.2024163603782654,-0.6403482556343079,0.2765505611896515,0.1417075097560883,0.5064445734024048) * MODEL21_texOff(vec2(0,1));
res += mat4(0.6106975078582764,-0.1570862233638763,-0.3223383128643036,-0.2497926801443100,-0.4854303300380707,0.0132978223264217,-0.0609334111213684,0.1285556703805923,-0.1412864029407501,-0.1379042416810989,-0.0258826259523630,0.1357705891132355,-0.1285902857780457,-0.0577826797962189,0.0550044551491737,0.1717510819435120) * MODEL22_texOff(vec2(0,1));
res += mat4(0.1389609426259995,0.0835867226123810,0.0309768319129944,-0.0278116948902607,-0.0390677824616432,-0.0111810686066747,-0.0025318188127130,0.0069569633342326,0.0347319357097149,0.0191543344408274,0.0314339138567448,-0.0228427499532700,0.0416300334036350,0.0249234102666378,0.1210031509399414,0.1142473593354225) * MODEL21_texOff(vec2(1,-1));
res += mat4(0.0607251487672329,0.0386395826935768,-0.0219341218471527,-0.1102298423647881,0.1487188935279846,0.0602982006967068,-0.0280748903751373,-0.0211924221366644,0.0042894422076643,-0.0269144997000694,0.0814756453037262,-0.0314031280577183,-0.0213186051696539,-0.1362965404987335,0.0382767543196678,-0.0669511556625366) * MODEL22_texOff(vec2(1,-1));
res += mat4(-0.2397561967372894,0.3023172020912170,-0.2398054003715515,0.0041919997893274,-0.1016605198383331,-0.1521034836769104,-0.1526568531990051,0.0272433310747147,0.0741761848330498,0.1116370111703873,0.1149727106094360,-0.0809784531593323,-0.1448147594928741,-0.0943927690386772,-0.0086280042305589,0.1243222951889038) * MODEL21_texOff(vec2(1,0));
res += mat4(-0.0469366572797298,-0.1655988991260529,-0.1029584184288979,-0.1347874104976654,0.2064601778984070,0.0521226711571217,-0.1366733759641647,-0.0041872998699546,0.1077186539769173,0.0184442866593599,-0.2309073060750961,-0.1637075096368790,-0.0417953692376614,-0.3190860450267792,-0.1593534499406815,0.0136412177234888) * MODEL22_texOff(vec2(1,0));
res += mat4(0.1698798984289169,0.0232755411416292,-0.0876034423708916,-0.3008348643779755,0.0789884999394417,0.0034748215693980,-0.0064704762771726,0.0057828431017697,-0.0190630126744509,-0.0334153175354004,-0.0195646341890097,0.0105131156742573,0.0995147302746773,-0.3130289018154144,-0.0724022984504700,0.0113303456455469) * MODEL21_texOff(vec2(1,1));
res += mat4(-0.0027791252359748,-0.0193455871194601,-0.0415000133216381,0.0568981170654297,-0.2745247483253479,0.1222846284508705,0.1899162530899048,0.1067754998803139,-0.0561975166201591,-0.1500336527824402,0.0526139959692955,-0.3491798937320709,-0.0692384615540504,-0.0307095069438219,0.0498757846653461,0.0019003645284101) * MODEL22_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.1552927196025848,0.0782765746116638,0.7966942191123962,-1.1619627475738525) * min(res, vec4(0.0));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+703
View File
@@ -0,0 +1,703 @@
{0x07230203,0x00010000,0x000d000b,0x000003c1,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000022a,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000022a,0x0000000b,0x0000001c,
0x00030047,0x00000247,0x00000019,0x00040047,
0x00000247,0x00000021,0x00000000,0x00040047,
0x00000247,0x00000022,0x00000000,0x00040047,
0x0000024c,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0xbe05c03a,0x0004002b,
0x00000006,0x00000031,0xbda585de,0x0004002b,
0x00000006,0x00000032,0xbe93765b,0x0004002b,
0x00000006,0x00000033,0x3c233ba7,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0xbdd3ab41,0x0004002b,0x00000006,
0x00000037,0x3d5db76f,0x0004002b,0x00000006,
0x00000038,0xbda4d4d2,0x0004002b,0x00000006,
0x00000039,0xbd090a5b,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0xbcd8e2e3,0x0004002b,0x00000006,0x0000003c,
0x3de52373,0x0004002b,0x00000006,0x0000003d,
0x3df2e540,0x0004002b,0x00000006,0x0000003e,
0xbc510503,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0x3e6506f4,
0x0004002b,0x00000006,0x00000041,0x3b25b724,
0x0004002b,0x00000006,0x00000042,0x3dc9d630,
0x0004002b,0x00000006,0x00000043,0x3d8c5340,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0xbe4102e2,0x0004002b,
0x00000006,0x00000046,0x3d597100,0x0004002b,
0x00000006,0x00000047,0xbd4573fa,0x0004002b,
0x00000006,0x00000048,0x3d19b20a,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x00000053,
0x3e3c1da8,0x0004002b,0x00000006,0x00000054,
0xbd819b6b,0x0004002b,0x00000006,0x00000055,
0x3ad9c310,0x0004002b,0x00000006,0x00000056,
0x3d20ea7c,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0x3e95b3ec,
0x0004002b,0x00000006,0x00000059,0xbe2f80eb,
0x0004002b,0x00000006,0x0000005a,0x3e435646,
0x0004002b,0x00000006,0x0000005b,0x3d617795,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0x3d83ef70,0x0004002b,
0x00000006,0x0000005e,0xbdd6507c,0x0004002b,
0x00000006,0x0000005f,0x3c998112,0x0004002b,
0x00000006,0x00000060,0x3d9dbb9f,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0x3e4606a1,0x0004002b,0x00000006,
0x00000063,0xbd3aa943,0x0004002b,0x00000006,
0x00000064,0x3d199a5f,0x0004002b,0x00000006,
0x00000065,0xbdd7ad4a,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004002b,0x00000006,0x0000006e,0xbdc72a03,
0x0004002b,0x00000006,0x0000006f,0x3e90683a,
0x0004002b,0x00000006,0x00000070,0x3c3bad56,
0x0004002b,0x00000006,0x00000071,0xbdc3724e,
0x0007002c,0x0000000c,0x00000072,0x0000006e,
0x0000006f,0x00000070,0x00000071,0x0004002b,
0x00000006,0x00000073,0x3d90a3f2,0x0004002b,
0x00000006,0x00000074,0x3ef73f84,0x0004002b,
0x00000006,0x00000075,0xbf231c60,0x0004002b,
0x00000006,0x00000076,0x3a07d108,0x0007002c,
0x0000000c,0x00000077,0x00000073,0x00000074,
0x00000075,0x00000076,0x0004002b,0x00000006,
0x00000078,0x3ea7f17f,0x0004002b,0x00000006,
0x00000079,0x3d883e0d,0x0004002b,0x00000006,
0x0000007a,0xbd4e1394,0x0004002b,0x00000006,
0x0000007b,0xbe012342,0x0007002c,0x0000000c,
0x0000007c,0x00000078,0x00000079,0x0000007a,
0x0000007b,0x0004002b,0x00000006,0x0000007d,
0x3de42f00,0x0004002b,0x00000006,0x0000007e,
0xbe523d02,0x0004002b,0x00000006,0x0000007f,
0x3e124e62,0x0004002b,0x00000006,0x00000080,
0x3ec9042e,0x0007002c,0x0000000c,0x00000081,
0x0000007d,0x0000007e,0x0000007f,0x00000080,
0x0007002c,0x00000035,0x00000082,0x00000072,
0x00000077,0x0000007c,0x00000081,0x0004002b,
0x00000006,0x00000083,0x00000000,0x0004002b,
0x00000006,0x0000008a,0xbe83ac17,0x0004002b,
0x00000006,0x0000008b,0x3e26a1c4,0x0004002b,
0x00000006,0x0000008c,0xbefcf1f6,0x0004002b,
0x00000006,0x0000008d,0xbe0b6c1e,0x0007002c,
0x0000000c,0x0000008e,0x0000008a,0x0000008b,
0x0000008c,0x0000008d,0x0004002b,0x00000006,
0x0000008f,0x3da4beee,0x0004002b,0x00000006,
0x00000090,0xbed8ac2b,0x0004002b,0x00000006,
0x00000091,0x3d852959,0x0004002b,0x00000006,
0x00000092,0x3d545eaf,0x0007002c,0x0000000c,
0x00000093,0x0000008f,0x00000090,0x00000091,
0x00000092,0x0004002b,0x00000006,0x00000094,
0xbd4dd0b2,0x0004002b,0x00000006,0x00000095,
0xbe05b6c3,0x0004002b,0x00000006,0x00000096,
0x3e39cd82,0x0004002b,0x00000006,0x00000097,
0x3c14e05a,0x0007002c,0x0000000c,0x00000098,
0x00000094,0x00000095,0x00000096,0x00000097,
0x0004002b,0x00000006,0x00000099,0xbd50ea0f,
0x0004002b,0x00000006,0x0000009a,0xbe2d34a6,
0x0004002b,0x00000006,0x0000009b,0x3dbcebd8,
0x0004002b,0x00000006,0x0000009c,0xbd00b309,
0x0007002c,0x0000000c,0x0000009d,0x00000099,
0x0000009a,0x0000009b,0x0000009c,0x0007002c,
0x00000035,0x0000009e,0x0000008e,0x00000093,
0x00000098,0x0000009d,0x0004002b,0x00000006,
0x000000a4,0x3e02195a,0x0004002b,0x00000006,
0x000000a5,0x3d66b8a9,0x0004002b,0x00000006,
0x000000a6,0xbd32641f,0x0004002b,0x00000006,
0x000000a7,0x3e20c09f,0x0007002c,0x0000000c,
0x000000a8,0x000000a4,0x000000a5,0x000000a6,
0x000000a7,0x0004002b,0x00000006,0x000000a9,
0x3d6c46e3,0x0004002b,0x00000006,0x000000aa,
0x3eb13d1a,0x0004002b,0x00000006,0x000000ab,
0xbd05636b,0x0004002b,0x00000006,0x000000ac,
0xbe89acf5,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000ae,0xbe096b25,
0x0004002b,0x00000006,0x000000af,0xbe0d8af4,
0x0004002b,0x00000006,0x000000b0,0x3e6ae22d,
0x0004002b,0x00000006,0x000000b1,0xbde3b33f,
0x0007002c,0x0000000c,0x000000b2,0x000000ae,
0x000000af,0x000000b0,0x000000b1,0x0004002b,
0x00000006,0x000000b3,0xbe0f9c52,0x0004002b,
0x00000006,0x000000b4,0xbea6c91d,0x0004002b,
0x00000006,0x000000b5,0x3d75265f,0x0004002b,
0x00000006,0x000000b6,0x3dce7248,0x0007002c,
0x0000000c,0x000000b7,0x000000b3,0x000000b4,
0x000000b5,0x000000b6,0x0007002c,0x00000035,
0x000000b8,0x000000a8,0x000000ad,0x000000b2,
0x000000b7,0x0004002b,0x00000006,0x000000c0,
0x3e2df576,0x0004002b,0x00000006,0x000000c1,
0x3eb2bd48,0x0004002b,0x00000006,0x000000c2,
0xbe0c0cf0,0x0004002b,0x00000006,0x000000c3,
0xbdeec558,0x0007002c,0x0000000c,0x000000c4,
0x000000c0,0x000000c1,0x000000c2,0x000000c3,
0x0004002b,0x00000006,0x000000c5,0xbe563128,
0x0004002b,0x00000006,0x000000c6,0xbe1845b6,
0x0004002b,0x00000006,0x000000c7,0xbd695e96,
0x0004002b,0x00000006,0x000000c8,0xbe571d0b,
0x0007002c,0x0000000c,0x000000c9,0x000000c5,
0x000000c6,0x000000c7,0x000000c8,0x0004002b,
0x00000006,0x000000ca,0x3d25daa0,0x0004002b,
0x00000006,0x000000cb,0xbe0c7f19,0x0004002b,
0x00000006,0x000000cc,0x3d8d1de5,0x0004002b,
0x00000006,0x000000cd,0xbd16a885,0x0007002c,
0x0000000c,0x000000ce,0x000000ca,0x000000cb,
0x000000cc,0x000000cd,0x0004002b,0x00000006,
0x000000cf,0xbd055084,0x0004002b,0x00000006,
0x000000d0,0xbc3c5c01,0x0004002b,0x00000006,
0x000000d1,0xbc60de6a,0x0004002b,0x00000006,
0x000000d2,0xbce51fb8,0x0007002c,0x0000000c,
0x000000d3,0x000000cf,0x000000d0,0x000000d1,
0x000000d2,0x0007002c,0x00000035,0x000000d4,
0x000000c4,0x000000c9,0x000000ce,0x000000d3,
0x0004002b,0x00000006,0x000000da,0xbd66c856,
0x0004002b,0x00000006,0x000000db,0x3c591428,
0x0004002b,0x00000006,0x000000dc,0xbe794c04,
0x0004002b,0x00000006,0x000000dd,0x3da322e2,
0x0007002c,0x0000000c,0x000000de,0x000000da,
0x000000db,0x000000dc,0x000000dd,0x0004002b,
0x00000006,0x000000df,0xbe57fa3c,0x0004002b,
0x00000006,0x000000e0,0x3d1e8d31,0x0004002b,
0x00000006,0x000000e1,0xbd7216c8,0x0004002b,
0x00000006,0x000000e2,0x3dc3c084,0x0007002c,
0x0000000c,0x000000e3,0x000000df,0x000000e0,
0x000000e1,0x000000e2,0x0004002b,0x00000006,
0x000000e4,0x3eee9e93,0x0004002b,0x00000006,
0x000000e5,0xbdf69ee4,0x0004002b,0x00000006,
0x000000e6,0x3e086f45,0x0004002b,0x00000006,
0x000000e7,0xbce9d219,0x0007002c,0x0000000c,
0x000000e8,0x000000e4,0x000000e5,0x000000e6,
0x000000e7,0x0004002b,0x00000006,0x000000e9,
0xbec70311,0x0004002b,0x00000006,0x000000ea,
0xbd322b05,0x0004002b,0x00000006,0x000000eb,
0xbdade719,0x0004002b,0x00000006,0x000000ec,
0x3da453df,0x0007002c,0x0000000c,0x000000ed,
0x000000e9,0x000000ea,0x000000eb,0x000000ec,
0x0007002c,0x00000035,0x000000ee,0x000000de,
0x000000e3,0x000000e8,0x000000ed,0x0004002b,
0x00000006,0x000000f5,0x3d28da0a,0x0004002b,
0x00000006,0x000000f6,0x3e20f7f8,0x0004002b,
0x00000006,0x000000f7,0x3e51ed56,0x0004002b,
0x00000006,0x000000f8,0xbde932cb,0x0007002c,
0x0000000c,0x000000f9,0x000000f5,0x000000f6,
0x000000f7,0x000000f8,0x0004002b,0x00000006,
0x000000fa,0x3e48fb6a,0x0004002b,0x00000006,
0x000000fb,0x3d737b89,0x0004002b,0x00000006,
0x000000fc,0x3d10100b,0x0004002b,0x00000006,
0x000000fd,0xbc54aeb9,0x0007002c,0x0000000c,
0x000000fe,0x000000fa,0x000000fb,0x000000fc,
0x000000fd,0x0004002b,0x00000006,0x000000ff,
0x3e52744c,0x0004002b,0x00000006,0x00000100,
0xbd849d6f,0x0004002b,0x00000006,0x00000101,
0x3d18f95f,0x0004002b,0x00000006,0x00000102,
0x3db3aa98,0x0007002c,0x0000000c,0x00000103,
0x000000ff,0x00000100,0x00000101,0x00000102,
0x0004002b,0x00000006,0x00000104,0xbf12ce93,
0x0004002b,0x00000006,0x00000105,0x3df370d1,
0x0004002b,0x00000006,0x00000106,0xbdeab06f,
0x0004002b,0x00000006,0x00000107,0xbdf23946,
0x0007002c,0x0000000c,0x00000108,0x00000104,
0x00000105,0x00000106,0x00000107,0x0007002c,
0x00000035,0x00000109,0x000000f9,0x000000fe,
0x00000103,0x00000108,0x0004002b,0x00000006,
0x0000010f,0xbe4d4d7e,0x0004002b,0x00000006,
0x00000110,0xbef6a257,0x0004002b,0x00000006,
0x00000111,0x3f0f4735,0x0004002b,0x00000006,
0x00000112,0xbd064a10,0x0007002c,0x0000000c,
0x00000113,0x0000010f,0x00000110,0x00000111,
0x00000112,0x0004002b,0x00000006,0x00000114,
0x3dca9c91,0x0004002b,0x00000006,0x00000115,
0x3ed35826,0x0004002b,0x00000006,0x00000116,
0x3f3a0163,0x0004002b,0x00000006,0x00000117,
0xbe89d524,0x0007002c,0x0000000c,0x00000118,
0x00000114,0x00000115,0x00000116,0x00000117,
0x0004002b,0x00000006,0x00000119,0x3f050378,
0x0004002b,0x00000006,0x0000011a,0xbe71697e,
0x0004002b,0x00000006,0x0000011b,0xbec38d8d,
0x0004002b,0x00000006,0x0000011c,0x3e33c42c,
0x0007002c,0x0000000c,0x0000011d,0x00000119,
0x0000011a,0x0000011b,0x0000011c,0x0004002b,
0x00000006,0x0000011e,0x3f2866c9,0x0004002b,
0x00000006,0x0000011f,0x3ddc4545,0x0004002b,
0x00000006,0x00000120,0xbe89a20d,0x0004002b,
0x00000006,0x00000121,0x3ea60708,0x0007002c,
0x0000000c,0x00000122,0x0000011e,0x0000011f,
0x00000120,0x00000121,0x0007002c,0x00000035,
0x00000123,0x00000113,0x00000118,0x0000011d,
0x00000122,0x0004002b,0x00000006,0x0000012a,
0xbea4ee5d,0x0004002b,0x00000006,0x0000012b,
0x3e987fee,0x0004002b,0x00000006,0x0000012c,
0x3e68724f,0x0004002b,0x00000006,0x0000012d,
0xbea306da,0x0007002c,0x0000000c,0x0000012e,
0x0000012a,0x0000012b,0x0000012c,0x0000012d,
0x0004002b,0x00000006,0x0000012f,0x3ef817fd,
0x0004002b,0x00000006,0x00000130,0x3ee1a689,
0x0004002b,0x00000006,0x00000131,0x3c2370d4,
0x0004002b,0x00000006,0x00000132,0xbe9fd6d2,
0x0007002c,0x0000000c,0x00000133,0x0000012f,
0x00000130,0x00000131,0x00000132,0x0004002b,
0x00000006,0x00000134,0xbec31350,0x0004002b,
0x00000006,0x00000135,0xbd62c668,0x0004002b,
0x00000006,0x00000136,0x3ca62967,0x0004002b,
0x00000006,0x00000137,0x3d27eac0,0x0007002c,
0x0000000c,0x00000138,0x00000134,0x00000135,
0x00000136,0x00000137,0x0004002b,0x00000006,
0x00000139,0x3e81ad46,0x0004002b,0x00000006,
0x0000013a,0x3e8bdbdf,0x0004002b,0x00000006,
0x0000013b,0x3dfd722f,0x0004002b,0x00000006,
0x0000013c,0x3c5bf1a1,0x0007002c,0x0000000c,
0x0000013d,0x00000139,0x0000013a,0x0000013b,
0x0000013c,0x0007002c,0x00000035,0x0000013e,
0x0000012e,0x00000133,0x00000138,0x0000013d,
0x0004002b,0x00000006,0x00000144,0x3e3bf5a0,
0x0004002b,0x00000006,0x00000145,0x3d61286b,
0x0004002b,0x00000006,0x00000146,0xbe332149,
0x0004002b,0x00000006,0x00000147,0xbe4fdffd,
0x0007002c,0x0000000c,0x00000148,0x00000144,
0x00000145,0x00000146,0x00000147,0x0004002b,
0x00000006,0x00000149,0x3cd7d40d,0x0004002b,
0x00000006,0x0000014a,0x3e8e68e5,0x0004002b,
0x00000006,0x0000014b,0x3d188f24,0x0004002b,
0x00000006,0x0000014c,0x3eba85d1,0x0007002c,
0x0000000c,0x0000014d,0x00000149,0x0000014a,
0x0000014b,0x0000014c,0x0004002b,0x00000006,
0x0000014e,0xbecf406c,0x0004002b,0x00000006,
0x0000014f,0x3d873127,0x0004002b,0x00000006,
0x00000150,0x3ef8fdd4,0x0004002b,0x00000006,
0x00000151,0xbe4f463c,0x0007002c,0x0000000c,
0x00000152,0x0000014e,0x0000014f,0x00000150,
0x00000151,0x0004002b,0x00000006,0x00000153,
0xbf23eddd,0x0004002b,0x00000006,0x00000154,
0x3e8d9809,0x0004002b,0x00000006,0x00000155,
0x3e111bc6,0x0004002b,0x00000006,0x00000156,
0x3f01a65a,0x0007002c,0x0000000c,0x00000157,
0x00000153,0x00000154,0x00000155,0x00000156,
0x0007002c,0x00000035,0x00000158,0x00000148,
0x0000014d,0x00000152,0x00000157,0x0004002b,
0x00000006,0x0000015f,0x3f1c56ac,0x0004002b,
0x00000006,0x00000160,0xbe20db36,0x0004002b,
0x00000006,0x00000161,0xbea50987,0x0004002b,
0x00000006,0x00000162,0xbe7fc9a7,0x0007002c,
0x0000000c,0x00000163,0x0000015f,0x00000160,
0x00000161,0x00000162,0x0004002b,0x00000006,
0x00000164,0xbef88a53,0x0004002b,0x00000006,
0x00000165,0x3c59df1c,0x0004002b,0x00000006,
0x00000166,0xbd799550,0x0004002b,0x00000006,
0x00000167,0x3e03a419,0x0007002c,0x0000000c,
0x00000168,0x00000164,0x00000165,0x00000166,
0x00000167,0x0004002b,0x00000006,0x00000169,
0xbe10ad62,0x0004002b,0x00000006,0x0000016a,
0xbe0d36c5,0x0004002b,0x00000006,0x0000016b,
0xbcd407cd,0x0004002b,0x00000006,0x0000016c,
0x3e0b0772,0x0007002c,0x0000000c,0x0000016d,
0x00000169,0x0000016a,0x0000016b,0x0000016c,
0x0004002b,0x00000006,0x0000016e,0xbe03ad2c,
0x0004002b,0x00000006,0x0000016f,0xbd6cad88,
0x0004002b,0x00000006,0x00000170,0x3d614c5a,
0x0004002b,0x00000006,0x00000171,0x3e2fdf84,
0x0007002c,0x0000000c,0x00000172,0x0000016e,
0x0000016f,0x00000170,0x00000171,0x0007002c,
0x00000035,0x00000173,0x00000163,0x00000168,
0x0000016d,0x00000172,0x0004002b,0x00000006,
0x00000179,0x3e0e4bc7,0x0004002b,0x00000006,
0x0000017a,0x3dab2f84,0x0004002b,0x00000006,
0x0000017b,0x3cfdc320,0x0004002b,0x00000006,
0x0000017c,0xbce3d55a,0x0007002c,0x0000000c,
0x0000017d,0x00000179,0x0000017a,0x0000017b,
0x0000017c,0x0004002b,0x00000006,0x0000017e,
0xbd20058a,0x0004002b,0x00000006,0x0000017f,
0xbc3730cd,0x0004002b,0x00000006,0x00000180,
0xbb25ecdf,0x0004002b,0x00000006,0x00000181,
0x3be3f73d,0x0007002c,0x0000000c,0x00000182,
0x0000017e,0x0000017f,0x00000180,0x00000181,
0x0004002b,0x00000006,0x00000183,0x3d0e4313,
0x0004002b,0x00000006,0x00000184,0x3c9ce98d,
0x0004002b,0x00000006,0x00000185,0x3d00c0d9,
0x0004002b,0x00000006,0x00000186,0xbcbb20b8,
0x0007002c,0x0000000c,0x00000187,0x00000183,
0x00000184,0x00000185,0x00000186,0x0004002b,
0x00000006,0x00000188,0x3d2a8441,0x0004002b,
0x00000006,0x00000189,0x3ccc2c2e,0x0004002b,
0x00000006,0x0000018a,0x3df7d080,0x0004002b,
0x00000006,0x0000018b,0x3de9fa85,0x0007002c,
0x0000000c,0x0000018c,0x00000188,0x00000189,
0x0000018a,0x0000018b,0x0007002c,0x00000035,
0x0000018d,0x0000017d,0x00000182,0x00000187,
0x0000018c,0x0004002b,0x00000006,0x00000194,
0x3d78baef,0x0004002b,0x00000006,0x00000195,
0x3d1e448a,0x0004002b,0x00000006,0x00000196,
0xbcb3af30,0x0004002b,0x00000006,0x00000197,
0xbde1c02f,0x0007002c,0x0000000c,0x00000198,
0x00000194,0x00000195,0x00000196,0x00000197,
0x0004002b,0x00000006,0x00000199,0x3e1849c4,
0x0004002b,0x00000006,0x0000019a,0x3d76fb3f,
0x0004002b,0x00000006,0x0000019b,0xbce5fd50,
0x0004002b,0x00000006,0x0000019c,0xbcad9bbb,
0x0007002c,0x0000000c,0x0000019d,0x00000199,
0x0000019a,0x0000019b,0x0000019c,0x0004002b,
0x00000006,0x0000019e,0x3b8c8e73,0x0004002b,
0x00000006,0x0000019f,0xbcdc7bcc,0x0004002b,
0x00000006,0x000001a0,0x3da6dcb4,0x0004002b,
0x00000006,0x000001a1,0xbd00a091,0x0007002c,
0x0000000c,0x000001a2,0x0000019e,0x0000019f,
0x000001a0,0x000001a1,0x0004002b,0x00000006,
0x000001a3,0xbcaea45b,0x0004002b,0x00000006,
0x000001a4,0xbe0b9152,0x0004002b,0x00000006,
0x000001a5,0x3d1cc816,0x0004002b,0x00000006,
0x000001a6,0xbd891db0,0x0007002c,0x0000000c,
0x000001a7,0x000001a3,0x000001a4,0x000001a5,
0x000001a6,0x0007002c,0x00000035,0x000001a8,
0x00000198,0x0000019d,0x000001a2,0x000001a7,
0x0004002b,0x00000006,0x000001ae,0xbe7582a6,
0x0004002b,0x00000006,0x000001af,0x3e9ac952,
0x0004002b,0x00000006,0x000001b0,0xbe758f8c,
0x0004002b,0x00000006,0x000001b1,0x3b895d0b,
0x0007002c,0x0000000c,0x000001b2,0x000001ae,
0x000001af,0x000001b0,0x000001b1,0x0004002b,
0x00000006,0x000001b3,0xbdd03364,0x0004002b,
0x00000006,0x000001b4,0xbe1bc104,0x0004002b,
0x00000006,0x000001b5,0xbe1c5214,0x0004002b,
0x00000006,0x000001b6,0x3cdf2d68,0x0007002c,
0x0000000c,0x000001b7,0x000001b3,0x000001b4,
0x000001b5,0x000001b6,0x0004002b,0x00000006,
0x000001b8,0x3d97e9af,0x0004002b,0x00000006,
0x000001b9,0x3de4a1f2,0x0004002b,0x00000006,
0x000001ba,0x3deb76d0,0x0004002b,0x00000006,
0x000001bb,0xbda5d808,0x0007002c,0x0000000c,
0x000001bc,0x000001b8,0x000001b9,0x000001ba,
0x000001bb,0x0004002b,0x00000006,0x000001bd,
0xbe144a52,0x0004002b,0x00000006,0x000001be,
0xbdc150ff,0x0004002b,0x00000006,0x000001bf,
0xbc0d5c79,0x0004002b,0x00000006,0x000001c0,
0x3dfe9cb0,0x0007002c,0x0000000c,0x000001c1,
0x000001bd,0x000001be,0x000001bf,0x000001c0,
0x0007002c,0x00000035,0x000001c2,0x000001b2,
0x000001b7,0x000001bc,0x000001c1,0x0004002b,
0x00000006,0x000001c9,0xbd4040a7,0x0004002b,
0x00000006,0x000001ca,0xbe2992c2,0x0004002b,
0x00000006,0x000001cb,0xbdd2dbdd,0x0004002b,
0x00000006,0x000001cc,0xbe0a05b6,0x0007002c,
0x0000000c,0x000001cd,0x000001c9,0x000001ca,
0x000001cb,0x000001cc,0x0004002b,0x00000006,
0x000001ce,0x3e536a4c,0x0004002b,0x00000006,
0x000001cf,0x3d557e95,0x0004002b,0x00000006,
0x000001d0,0xbe0bf41b,0x0004002b,0x00000006,
0x000001d1,0xbb89359e,0x0007002c,0x0000000c,
0x000001d2,0x000001ce,0x000001cf,0x000001d0,
0x000001d1,0x0004002b,0x00000006,0x000001d3,
0x3ddc9b99,0x0004002b,0x00000006,0x000001d4,
0x3c971879,0x0004002b,0x00000006,0x000001d5,
0xbe6c72f7,0x0004002b,0x00000006,0x000001d6,
0xbe27a2f1,0x0007002c,0x0000000c,0x000001d7,
0x000001d3,0x000001d4,0x000001d5,0x000001d6,
0x0004002b,0x00000006,0x000001d8,0xbd2b319f,
0x0004002b,0x00000006,0x000001d9,0xbea35f3f,
0x0004002b,0x00000006,0x000001da,0xbe232d8d,
0x0004002b,0x00000006,0x000001db,0x3c5f7f6a,
0x0007002c,0x0000000c,0x000001dc,0x000001d8,
0x000001d9,0x000001da,0x000001db,0x0007002c,
0x00000035,0x000001dd,0x000001cd,0x000001d2,
0x000001d7,0x000001dc,0x0004002b,0x00000006,
0x000001e3,0x3e2df4ff,0x0004002b,0x00000006,
0x000001e4,0x3cbeac59,0x0004002b,0x00000006,
0x000001e5,0xbdb3696f,0x0004002b,0x00000006,
0x000001e6,0xbe9a0707,0x0007002c,0x0000000c,
0x000001e7,0x000001e3,0x000001e4,0x000001e5,
0x000001e6,0x0004002b,0x00000006,0x000001e8,
0x3da1c4b9,0x0004002b,0x00000006,0x000001e9,
0x3b63b9d5,0x0004002b,0x00000006,0x000001ea,
0xbbd4064a,0x0004002b,0x00000006,0x000001eb,
0x3bbd7e01,0x0007002c,0x0000000c,0x000001ec,
0x000001e8,0x000001e9,0x000001ea,0x000001eb,
0x0004002b,0x00000006,0x000001ed,0xbc9c2a09,
0x0004002b,0x00000006,0x000001ee,0xbd08de80,
0x0004002b,0x00000006,0x000001ef,0xbca04603,
0x0004002b,0x00000006,0x000001f0,0x3c2c3f34,
0x0007002c,0x0000000c,0x000001f1,0x000001ed,
0x000001ee,0x000001ef,0x000001f0,0x0004002b,
0x00000006,0x000001f2,0x3dcbce61,0x0004002b,
0x00000006,0x000001f3,0xbea04553,0x0004002b,
0x00000006,0x000001f4,0xbd9447a8,0x0004002b,
0x00000006,0x000001f5,0x3c39a2ea,0x0007002c,
0x0000000c,0x000001f6,0x000001f2,0x000001f3,
0x000001f4,0x000001f5,0x0007002c,0x00000035,
0x000001f7,0x000001e7,0x000001ec,0x000001f1,
0x000001f6,0x0004002b,0x00000006,0x000001fe,
0xbb3621fc,0x0004002b,0x00000006,0x000001ff,
0xbc9e7aa3,0x0004002b,0x00000006,0x00000200,
0xbd29fbeb,0x0004002b,0x00000006,0x00000201,
0x3d690e00,0x0007002c,0x0000000c,0x00000202,
0x000001fe,0x000001ff,0x00000200,0x00000201,
0x0004002b,0x00000006,0x00000203,0xbe8c8e82,
0x0004002b,0x00000006,0x00000204,0x3dfa705d,
0x0004002b,0x00000006,0x00000205,0x3e427968,
0x0004002b,0x00000006,0x00000206,0x3ddaad1d,
0x0007002c,0x0000000c,0x00000207,0x00000203,
0x00000204,0x00000205,0x00000206,0x0004002b,
0x00000006,0x00000208,0xbd662f5e,0x0004002b,
0x00000006,0x00000209,0xbe19a26c,0x0004002b,
0x00000006,0x0000020a,0x3d5781c6,0x0004002b,
0x00000006,0x0000020b,0xbeb2c7b5,0x0007002c,
0x0000000c,0x0000020c,0x00000208,0x00000209,
0x0000020a,0x0000020b,0x0004002b,0x00000006,
0x0000020d,0xbd8dcce5,0x0004002b,0x00000006,
0x0000020e,0xbcfb9281,0x0004002b,0x00000006,
0x0000020f,0x3d4c4a8d,0x0004002b,0x00000006,
0x00000210,0x3af915a7,0x0007002c,0x0000000c,
0x00000211,0x0000020d,0x0000020e,0x0000020f,
0x00000210,0x0007002c,0x00000035,0x00000212,
0x00000202,0x00000207,0x0000020c,0x00000211,
0x0007002c,0x0000000c,0x00000219,0x00000083,
0x00000083,0x00000083,0x00000083,0x0004002b,
0x00000006,0x0000021b,0x3e1f050e,0x0004002b,
0x00000006,0x0000021c,0x3da04f78,0x0004002b,
0x00000006,0x0000021d,0x3f4bf427,0x0004002b,
0x00000006,0x0000021e,0xbf94bb32,0x0007002c,
0x0000000c,0x0000021f,0x0000021b,0x0000021c,
0x0000021d,0x0000021e,0x00040015,0x00000227,
0x00000020,0x00000000,0x00040017,0x00000228,
0x00000227,0x00000003,0x00040020,0x00000229,
0x00000001,0x00000228,0x0004003b,0x00000229,
0x0000022a,0x00000001,0x00040017,0x0000022b,
0x00000227,0x00000002,0x00020014,0x0000022f,
0x0004002b,0x00000227,0x00000230,0x00000000,
0x00040020,0x00000234,0x00000009,0x00000016,
0x0004002b,0x00000227,0x0000023b,0x00000001,
0x00090019,0x00000245,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x00000246,0x00000000,
0x00000245,0x0004003b,0x00000246,0x00000247,
0x00000000,0x0004002b,0x00000227,0x0000024b,
0x00000010,0x0006002c,0x00000228,0x0000024c,
0x0000024b,0x0000024b,0x0000023b,0x0004002b,
0x00000016,0x000003b8,0xffffffff,0x0005002c,
0x00000017,0x000003b9,0x000003b8,0x000003b8,
0x0005002c,0x00000017,0x000003ba,0x00000026,
0x00000026,0x0005002c,0x00000017,0x000003bb,
0x000003b8,0x0000001e,0x0005002c,0x00000017,
0x000003bc,0x000003b8,0x00000026,0x0005002c,
0x00000017,0x000003bd,0x0000001e,0x000003b8,
0x0005002c,0x00000017,0x000003be,0x0000001e,
0x00000026,0x0005002c,0x00000017,0x000003bf,
0x00000026,0x000003b8,0x0005002c,0x00000017,
0x000003c0,0x00000026,0x0000001e,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x000300f7,0x0000024e,
0x00000000,0x000300fb,0x00000230,0x0000024f,
0x000200f8,0x0000024f,0x0004003d,0x00000228,
0x0000022c,0x0000022a,0x0007004f,0x0000022b,
0x0000022d,0x0000022c,0x0000022c,0x00000000,
0x00000001,0x0004007c,0x00000017,0x0000022e,
0x0000022d,0x00050051,0x00000016,0x00000233,
0x0000022e,0x00000000,0x00060041,0x00000234,
0x00000235,0x00000022,0x0000001e,0x00000230,
0x0004003d,0x00000016,0x00000236,0x00000235,
0x000500af,0x0000022f,0x00000237,0x00000233,
0x00000236,0x000400a8,0x0000022f,0x00000238,
0x00000237,0x000300f7,0x0000023a,0x00000000,
0x000400fa,0x00000238,0x00000239,0x0000023a,
0x000200f8,0x00000239,0x00050051,0x00000016,
0x0000023d,0x0000022e,0x00000001,0x00060041,
0x00000234,0x0000023e,0x00000022,0x0000001e,
0x0000023b,0x0004003d,0x00000016,0x0000023f,
0x0000023e,0x000500af,0x0000022f,0x00000240,
0x0000023d,0x0000023f,0x000200f9,0x0000023a,
0x000200f8,0x0000023a,0x000700f5,0x0000022f,
0x00000241,0x00000237,0x0000024f,0x00000240,
0x00000239,0x000300f7,0x00000243,0x00000000,
0x000400fa,0x00000241,0x00000242,0x00000243,
0x000200f8,0x00000242,0x000200f9,0x0000024e,
0x000200f8,0x00000243,0x0004003d,0x00000245,
0x00000248,0x00000247,0x0004003d,0x00000008,
0x000002ba,0x0000004b,0x00050080,0x00000017,
0x000002be,0x0000022e,0x000003b9,0x00050041,
0x00000023,0x000002bf,0x00000022,0x0000001e,
0x0004003d,0x00000017,0x000002c0,0x000002bf,
0x00050082,0x00000017,0x000002c2,0x000002c0,
0x000003ba,0x0008000c,0x00000017,0x000002c3,
0x00000001,0x0000002d,0x000002be,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x000002c4,
0x000002ba,0x0007005f,0x0000000c,0x000002c5,
0x000002c4,0x000002c3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000026a,0x0000004a,
0x000002c5,0x00050081,0x0000000c,0x0000026c,
0x00000034,0x0000026a,0x0004003d,0x00000008,
0x000002c8,0x00000068,0x00040064,0x00000007,
0x000002d2,0x000002c8,0x0007005f,0x0000000c,
0x000002d3,0x000002d2,0x000002c3,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000026e,
0x00000067,0x000002d3,0x00050081,0x0000000c,
0x00000270,0x0000026c,0x0000026e,0x0004003d,
0x00000008,0x000002d6,0x0000004b,0x00050080,
0x00000017,0x000002da,0x0000022e,0x000003bb,
0x0008000c,0x00000017,0x000002df,0x00000001,
0x0000002d,0x000002da,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000002e0,0x000002d6,
0x0007005f,0x0000000c,0x000002e1,0x000002e0,
0x000002df,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000272,0x00000082,0x000002e1,
0x00050081,0x0000000c,0x00000274,0x00000270,
0x00000272,0x0004003d,0x00000008,0x000002e4,
0x00000068,0x00040064,0x00000007,0x000002ee,
0x000002e4,0x0007005f,0x0000000c,0x000002ef,
0x000002ee,0x000002df,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x00000276,0x0000009e,
0x000002ef,0x00050081,0x0000000c,0x00000278,
0x00000274,0x00000276,0x0004003d,0x00000008,
0x000002f2,0x0000004b,0x00050080,0x00000017,
0x000002f6,0x0000022e,0x000003bc,0x0008000c,
0x00000017,0x000002fb,0x00000001,0x0000002d,
0x000002f6,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x000002fc,0x000002f2,0x0007005f,
0x0000000c,0x000002fd,0x000002fc,0x000002fb,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000027a,0x000000b8,0x000002fd,0x00050081,
0x0000000c,0x0000027c,0x00000278,0x0000027a,
0x0004003d,0x00000008,0x00000300,0x00000068,
0x00040064,0x00000007,0x0000030a,0x00000300,
0x0007005f,0x0000000c,0x0000030b,0x0000030a,
0x000002fb,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000027e,0x000000d4,0x0000030b,
0x00050081,0x0000000c,0x00000280,0x0000027c,
0x0000027e,0x0004003d,0x00000008,0x0000030e,
0x0000004b,0x00050080,0x00000017,0x00000312,
0x0000022e,0x000003bd,0x0008000c,0x00000017,
0x00000317,0x00000001,0x0000002d,0x00000312,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x00000318,0x0000030e,0x0007005f,0x0000000c,
0x00000319,0x00000318,0x00000317,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x00000282,
0x000000ee,0x00000319,0x00050081,0x0000000c,
0x00000284,0x00000280,0x00000282,0x0004003d,
0x00000008,0x0000031c,0x00000068,0x00040064,
0x00000007,0x00000326,0x0000031c,0x0007005f,
0x0000000c,0x00000327,0x00000326,0x00000317,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000286,0x00000109,0x00000327,0x00050081,
0x0000000c,0x00000288,0x00000284,0x00000286,
0x0004003d,0x00000008,0x0000032a,0x0000004b,
0x0008000c,0x00000017,0x00000333,0x00000001,
0x0000002d,0x0000022e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x00000334,0x0000032a,
0x0007005f,0x0000000c,0x00000335,0x00000334,
0x00000333,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000028a,0x00000123,0x00000335,
0x00050081,0x0000000c,0x0000028c,0x00000288,
0x0000028a,0x0004003d,0x00000008,0x00000338,
0x00000068,0x00040064,0x00000007,0x00000342,
0x00000338,0x0007005f,0x0000000c,0x00000343,
0x00000342,0x00000333,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000028e,0x0000013e,
0x00000343,0x00050081,0x0000000c,0x00000290,
0x0000028c,0x0000028e,0x0004003d,0x00000008,
0x00000346,0x0000004b,0x00050080,0x00000017,
0x0000034a,0x0000022e,0x000003be,0x0008000c,
0x00000017,0x0000034f,0x00000001,0x0000002d,
0x0000034a,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x00000350,0x00000346,0x0007005f,
0x0000000c,0x00000351,0x00000350,0x0000034f,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000292,0x00000158,0x00000351,0x00050081,
0x0000000c,0x00000294,0x00000290,0x00000292,
0x0004003d,0x00000008,0x00000354,0x00000068,
0x00040064,0x00000007,0x0000035e,0x00000354,
0x0007005f,0x0000000c,0x0000035f,0x0000035e,
0x0000034f,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000296,0x00000173,0x0000035f,
0x00050081,0x0000000c,0x00000298,0x00000294,
0x00000296,0x0004003d,0x00000008,0x00000362,
0x0000004b,0x00050080,0x00000017,0x00000366,
0x0000022e,0x000003bf,0x0008000c,0x00000017,
0x0000036b,0x00000001,0x0000002d,0x00000366,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x0000036c,0x00000362,0x0007005f,0x0000000c,
0x0000036d,0x0000036c,0x0000036b,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000029a,
0x0000018d,0x0000036d,0x00050081,0x0000000c,
0x0000029c,0x00000298,0x0000029a,0x0004003d,
0x00000008,0x00000370,0x00000068,0x00040064,
0x00000007,0x0000037a,0x00000370,0x0007005f,
0x0000000c,0x0000037b,0x0000037a,0x0000036b,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000029e,0x000001a8,0x0000037b,0x00050081,
0x0000000c,0x000002a0,0x0000029c,0x0000029e,
0x0004003d,0x00000008,0x0000037e,0x0000004b,
0x00050080,0x00000017,0x00000382,0x0000022e,
0x000003c0,0x0008000c,0x00000017,0x00000387,
0x00000001,0x0000002d,0x00000382,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x00000388,
0x0000037e,0x0007005f,0x0000000c,0x00000389,
0x00000388,0x00000387,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002a2,0x000001c2,
0x00000389,0x00050081,0x0000000c,0x000002a4,
0x000002a0,0x000002a2,0x0004003d,0x00000008,
0x0000038c,0x00000068,0x00040064,0x00000007,
0x00000396,0x0000038c,0x0007005f,0x0000000c,
0x00000397,0x00000396,0x00000387,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x000002a6,
0x000001dd,0x00000397,0x00050081,0x0000000c,
0x000002a8,0x000002a4,0x000002a6,0x0004003d,
0x00000008,0x0000039a,0x0000004b,0x00050080,
0x00000017,0x0000039e,0x0000022e,0x000003ba,
0x0008000c,0x00000017,0x000003a3,0x00000001,
0x0000002d,0x0000039e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000003a4,0x0000039a,
0x0007005f,0x0000000c,0x000003a5,0x000003a4,
0x000003a3,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x000002aa,0x000001f7,0x000003a5,
0x00050081,0x0000000c,0x000002ac,0x000002a8,
0x000002aa,0x0004003d,0x00000008,0x000003a8,
0x00000068,0x00040064,0x00000007,0x000003b2,
0x000003a8,0x0007005f,0x0000000c,0x000003b3,
0x000003b2,0x000003a3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002ae,0x00000212,
0x000003b3,0x00050081,0x0000000c,0x000002b0,
0x000002ac,0x000002ae,0x0007000c,0x0000000c,
0x000002b2,0x00000001,0x00000028,0x000002b0,
0x00000219,0x0007000c,0x0000000c,0x000002b4,
0x00000001,0x00000025,0x000002b0,0x00000219,
0x00050085,0x0000000c,0x000002b5,0x0000021f,
0x000002b4,0x00050081,0x0000000c,0x000002b6,
0x000002b2,0x000002b5,0x00040063,0x00000248,
0x0000022e,0x000002b6,0x000200f9,0x0000024e,
0x000200f8,0x0000024e,0x000100fd,0x00010038}
+46
View File
@@ -0,0 +1,46 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: mapping 4_2. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define MODEL21_texOff(o) fetch_(in0, vec2(o))
#define MODEL22_texOff(o) fetch_(in1, vec2(o))
vec4 hook()
{
vec4 res = vec4(-0.1443098634481430,-0.1343899369239807,-0.0624338127672672,-0.1094277128577232);
res += mat4(-0.0689977407455444,-0.1693786680698395,0.0109281269833446,0.0609922930598259,0.0296908002346754,0.1195700988173485,-0.0694077461957932,0.0971287414431572,0.0253518298268318,0.1213042959570885,0.0703809782862663,0.0055739870294929,-0.1595942378044128,-0.1336689442396164,-0.0622441768646240,-0.0428023114800453) * MODEL21_texOff(vec2(-1,-1));
res += mat4(0.0860001668334007,-0.0226618759334087,0.1602241247892380,0.0431661494076252,0.1526461094617844,0.2752982378005981,0.0960300788283348,-0.0536719262599945,-0.0171773489564657,0.0457364916801453,-0.0360932648181915,-0.0397153608500957,-0.0277090407907963,0.0729821547865868,-0.0145150292664766,0.0252893269062042) * MODEL22_texOff(vec2(-1,-1));
res += mat4(-0.1407091915607452,-0.4007499516010284,-0.0302001200616360,-0.0606933943927288,-0.2960600554943085,-0.2263117432594299,0.0721478462219238,-0.4578711986541748,0.0960150733590126,-0.1606502830982208,0.2444226741790771,0.0000882153908606,0.1472496986389160,0.3256779909133911,-0.2132861614227295,0.0339313484728336) * MODEL21_texOff(vec2(-1,0));
res += mat4(-0.1477648764848709,-0.1487885862588882,-0.1973863691091537,0.0717295333743095,0.0843430235981941,0.6259996294975281,-0.1214931011199951,-0.1274987608194351,0.2359549105167389,0.3002171218395233,-0.0825233608484268,-0.0157950688153505,0.0706149637699127,0.1762917637825012,-0.0611497573554516,-0.0859689489006996) * MODEL22_texOff(vec2(-1,0));
res += mat4(0.0174895934760571,-0.0567042417824268,0.0409146919846535,0.0258173532783985,0.1421577036380768,0.1234543323516846,-0.1721662431955338,0.1492216140031815,0.1100751459598541,0.0501539446413517,0.1100447699427605,-0.1086079254746437,-0.0608497932553291,0.0087817469611764,0.0714464113116264,-0.1285197436809540) * MODEL21_texOff(vec2(-1,1));
res += mat4(-0.0017177806003019,-0.1463395059108734,-0.1085453778505325,0.1650195866823196,0.0813829153776169,0.1102061793208122,-0.0578421875834465,-0.0232036896049976,-0.1239888817071915,0.0155465165153146,0.1079114526510239,-0.0420837886631489,-0.0775837749242783,0.0148941157385707,-0.0502299368381500,-0.0654754191637039) * MODEL22_texOff(vec2(-1,1));
res += mat4(0.0918162539601326,0.0440697595477104,-0.0515748932957649,0.0417411290109158,0.0353216230869293,0.1535954177379608,0.0439723692834377,-0.1288845241069794,0.1076577678322792,-0.1306740194559097,0.0715952813625336,-0.0681907683610916,-0.3798767924308777,0.1023928597569466,-0.0970670804381371,0.0077168666757643) * MODEL21_texOff(vec2(0,-1));
res += mat4(0.0634560957551003,-0.0550306066870689,0.2073986232280731,0.0520241297781467,0.1162287592887878,-0.2218665480613708,0.3199682831764221,0.0606246069073677,-0.0058511858806014,-0.0667045339941978,-0.0449917949736118,0.0707788690924644,-0.3323366343975067,-0.0763893201947212,-0.0997853428125381,-0.1181001588702202) * MODEL22_texOff(vec2(0,-1));
res += mat4(-0.3101258873939514,0.2616009712219238,0.0584651045501232,0.1656491309404373,-0.0069236233830452,0.2573371529579163,-0.1793291717767715,-0.2718756198883057,0.0953581258654594,0.0524105131626129,0.1183085516095161,0.0583294369280338,0.5036848187446594,-0.5763167142868042,-0.2119628041982651,-0.3140562772750854) * MODEL21_texOff(vec2(0,0));
res += mat4(-0.2497755438089371,-0.0146329319104552,-0.2741575539112091,0.2459975033998489,0.3562706708908081,-0.6528629064559937,-0.4287456274032593,0.2055913358926773,0.1739019453525543,-0.3855968713760376,-0.0958273336291313,-0.7066691517829895,0.2365748286247253,-0.3046728968620300,-0.2590373754501343,-0.0496727414429188) * MODEL22_texOff(vec2(0,0));
res += mat4(-0.0844531357288361,-0.0321611948311329,-0.0951840654015541,0.0577518045902252,-0.1606003493070602,0.2776086628437042,-0.1355003118515015,-0.0880064144730568,-0.1277643740177155,-0.0514567233622074,0.1522682905197144,-0.1040910631418228,-0.2767944037914276,-0.1452194601297379,0.0089118303731084,0.0231996178627014) * MODEL21_texOff(vec2(0,1));
res += mat4(0.2603267133235931,0.0167464651167393,-0.2064073234796524,0.1782064288854599,0.4890212416648865,0.0559245310723782,0.1221160590648651,-0.0202587731182575,-0.4056585729122162,-0.1839511841535568,0.2775998413562775,0.0024275144096464,-0.2624500989913940,-0.0619418807327747,0.0153478365391493,0.0123427547514439) * MODEL22_texOff(vec2(0,1));
res += mat4(0.0816635638475418,-0.0134946266189218,0.0594766475260258,-0.0551253929734230,0.0134431896731257,-0.0652195811271667,-0.0563635528087616,-0.0066532371565700,-0.0004114551993553,0.0105680683627725,0.1324467360973358,0.0467248968780041,0.0301312971860170,-0.1073397025465965,-0.0363437235355377,-0.0474153012037277) * MODEL21_texOff(vec2(1,-1));
res += mat4(0.0199097190052271,0.0901319086551666,0.0448978282511234,0.0505443066358566,0.0438878424465656,-0.0494784042239189,0.0724927335977554,-0.0070675504393876,-0.0012125011999160,0.0295279901474714,0.0705125033855438,0.0555334389209747,-0.0403393507003784,-0.1271172016859055,0.0017914215568453,0.1462216079235077) * MODEL22_texOff(vec2(1,-1));
res += mat4(-0.2827299833297729,0.2052399665117264,0.0042732120491564,-0.3969024717807770,-0.0782120972871780,0.1960176974534988,-0.0675340741872787,0.0027962317690253,0.0516129024326801,-0.0352642722427845,0.0546326488256454,0.0065340655855834,-0.1062376946210861,0.1364430636167526,-0.0536947809159756,0.2098117172718048) * MODEL21_texOff(vec2(1,0));
res += mat4(0.0045875865034759,0.2162927240133286,-0.2158576399087906,-0.0047327815555036,0.1251590698957443,0.1279677897691727,-0.1188964918255806,0.0328494384884834,0.0076038073748350,-0.0561547242105007,0.0335608273744583,0.4332321286201477,0.0021786799188703,0.0844521671533585,-0.2102309316396713,-0.0189208015799522) * MODEL22_texOff(vec2(1,0));
res += mat4(0.0933093801140785,0.1548244059085846,-0.0598701611161232,0.0357220247387886,-0.1141726672649384,0.0536412484943867,-0.0159156844019890,-0.0445508137345314,0.1883231997489929,-0.1547038406133652,0.0530619807541370,0.0059371814131737,0.0602529086172581,-0.0435577929019928,0.0083390390500426,0.0191930737346411) * MODEL21_texOff(vec2(1,1));
res += mat4(-0.0351041629910469,0.2119503468275070,-0.0841927304863930,0.0079463515430689,0.0683520361781120,-0.1657009869813919,0.0611055232584476,-0.0063667562790215,0.0330024957656860,-0.1810818463563919,0.0872574150562286,0.1485669612884521,-0.1305806934833527,0.0041402997449040,0.0223289318382740,-0.0141495745629072) * MODEL22_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.5769761204719543,0.1716064810752869,-0.0821026712656021,0.2092144042253494) * min(res, vec4(0.0));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+703
View File
@@ -0,0 +1,703 @@
{0x07230203,0x00010000,0x000d000b,0x000003c1,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000022a,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000022a,0x0000000b,0x0000001c,
0x00030047,0x00000247,0x00000019,0x00040047,
0x00000247,0x00000021,0x00000000,0x00040047,
0x00000247,0x00000022,0x00000000,0x00040047,
0x0000024c,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0xbe13c5f7,0x0004002b,
0x00000006,0x00000031,0xbe099d84,0x0004002b,
0x00000006,0x00000032,0xbd7fba99,0x0004002b,
0x00000006,0x00000033,0xbde01ba3,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0xbd8d4eb0,0x0004002b,0x00000006,
0x00000037,0xbe2d719a,0x0004002b,0x00000006,
0x00000038,0x3c330be3,0x0004002b,0x00000006,
0x00000039,0x3d79d30e,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0x3cf33a1f,0x0004002b,0x00000006,0x0000003c,
0x3df4e12b,0x0004002b,0x00000006,0x0000003d,
0xbd8e25a6,0x0004002b,0x00000006,0x0000003e,
0x3dc6eb6f,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0x3ccfaea4,
0x0004002b,0x00000006,0x00000041,0x3df86e63,
0x0004002b,0x00000006,0x00000042,0x3d9023e7,
0x0004002b,0x00000006,0x00000043,0x3bb6a5fe,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0xbe236cac,0x0004002b,
0x00000006,0x00000046,0xbe08e083,0x0004002b,
0x00000006,0x00000047,0xbd7ef3c0,0x0004002b,
0x00000006,0x00000048,0xbd2f517a,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x00000053,
0x3db020db,0x0004002b,0x00000006,0x00000054,
0xbcb9a566,0x0004002b,0x00000006,0x00000055,
0x3e2411cb,0x0004002b,0x00000006,0x00000056,
0x3d30cefd,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0x3e1c4f43,
0x0004002b,0x00000006,0x00000059,0x3e8cf3e4,
0x0004002b,0x00000006,0x0000005a,0x3dc4ab6b,
0x0004002b,0x00000006,0x0000005b,0xbd5bd718,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0xbc8cb783,0x0004002b,
0x00000006,0x0000005e,0x3d3b5630,0x0004002b,
0x00000006,0x0000005f,0xbd13d688,0x0004002b,
0x00000006,0x00000060,0xbd22ac93,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0xbce2fe12,0x0004002b,0x00000006,
0x00000063,0x3d9577ab,0x0004002b,0x00000006,
0x00000064,0xbc6dd072,0x0004002b,0x00000006,
0x00000065,0x3ccf2b90,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004002b,0x00000006,0x0000006e,0xbe101612,
0x0004002b,0x00000006,0x0000006f,0xbecd2f19,
0x0004002b,0x00000006,0x00000070,0xbcf7663e,
0x0004002b,0x00000006,0x00000071,0xbd7899a3,
0x0007002c,0x0000000c,0x00000072,0x0000006e,
0x0000006f,0x00000070,0x00000071,0x0004002b,
0x00000006,0x00000073,0xbe97952f,0x0004002b,
0x00000006,0x00000074,0xbe67be44,0x0004002b,
0x00000006,0x00000075,0x3d93c240,0x0004002b,
0x00000006,0x00000076,0xbeea6e18,0x0007002c,
0x0000000c,0x00000077,0x00000073,0x00000074,
0x00000075,0x00000076,0x0004002b,0x00000006,
0x00000078,0x3dc4a38d,0x0004002b,0x00000006,
0x00000079,0xbe248182,0x0004002b,0x00000006,
0x0000007a,0x3e7a49f0,0x0004002b,0x00000006,
0x0000007b,0x38b90047,0x0007002c,0x0000000c,
0x0000007c,0x00000078,0x00000079,0x0000007a,
0x0000007b,0x0004002b,0x00000006,0x0000007d,
0x3e16c8a0,0x0004002b,0x00000006,0x0000007e,
0x3ea6bf44,0x0004002b,0x00000006,0x0000007f,
0xbe5a67b0,0x0004002b,0x00000006,0x00000080,
0x3d0afb99,0x0007002c,0x0000000c,0x00000081,
0x0000007d,0x0000007e,0x0000007f,0x00000080,
0x0007002c,0x00000035,0x00000082,0x00000072,
0x00000077,0x0000007c,0x00000081,0x0004002b,
0x00000006,0x00000083,0x00000000,0x0004002b,
0x00000006,0x0000008a,0xbe174fad,0x0004002b,
0x00000006,0x0000008b,0xbe185c09,0x0004002b,
0x00000006,0x0000008c,0xbe4a1fa7,0x0004002b,
0x00000006,0x0000008d,0x3d92e6ef,0x0007002c,
0x0000000c,0x0000008e,0x0000008a,0x0000008b,
0x0000008c,0x0000008d,0x0004002b,0x00000006,
0x0000008f,0x3dacbc09,0x0004002b,0x00000006,
0x00000090,0x3f204183,0x0004002b,0x00000006,
0x00000091,0xbdf8d160,0x0004002b,0x00000006,
0x00000092,0xbe028f09,0x0007002c,0x0000000c,
0x00000093,0x0000008f,0x00000090,0x00000091,
0x00000092,0x0004002b,0x00000006,0x00000094,
0x3e719e2a,0x0004002b,0x00000006,0x00000095,
0x3e99b60f,0x0004002b,0x00000006,0x00000096,
0xbda90202,0x0004002b,0x00000006,0x00000097,
0xbc8164a9,0x0007002c,0x0000000c,0x00000098,
0x00000094,0x00000095,0x00000096,0x00000097,
0x0004002b,0x00000006,0x00000099,0x3d909e94,
0x0004002b,0x00000006,0x0000009a,0x3e3485d4,
0x0004002b,0x00000006,0x0000009b,0xbd7a782b,
0x0004002b,0x00000006,0x0000009c,0xbdb0107d,
0x0007002c,0x0000000c,0x0000009d,0x00000099,
0x0000009a,0x0000009b,0x0000009c,0x0007002c,
0x00000035,0x0000009e,0x0000008e,0x00000093,
0x00000098,0x0000009d,0x0004002b,0x00000006,
0x000000a4,0x3c8f4656,0x0004002b,0x00000006,
0x000000a5,0xbd6842b5,0x0004002b,0x00000006,
0x000000a6,0x3d27962a,0x0004002b,0x00000006,
0x000000a7,0x3cd37eea,0x0007002c,0x0000000c,
0x000000a8,0x000000a4,0x000000a5,0x000000a6,
0x000000a7,0x0004002b,0x00000006,0x000000a9,
0x3e1191ca,0x0004002b,0x00000006,0x000000aa,
0x3dfcd5a0,0x0004002b,0x00000006,0x000000ab,
0xbe304c59,0x0004002b,0x00000006,0x000000ac,
0x3e18cd8d,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000ae,0x3de16f14,
0x0004002b,0x00000006,0x000000af,0x3d4d6e39,
0x0004002b,0x00000006,0x000000b0,0x3de15f27,
0x0004002b,0x00000006,0x000000b1,0xbdde6dd5,
0x0007002c,0x0000000c,0x000000b2,0x000000ae,
0x000000af,0x000000b0,0x000000b1,0x0004002b,
0x00000006,0x000000b3,0xbd793da2,0x0004002b,
0x00000006,0x000000b4,0x3c0fe151,0x0004002b,
0x00000006,0x000000b5,0x3d92527f,0x0004002b,
0x00000006,0x000000b6,0xbe039aae,0x0007002c,
0x0000000c,0x000000b7,0x000000b3,0x000000b4,
0x000000b5,0x000000b6,0x0007002c,0x00000035,
0x000000b8,0x000000a8,0x000000ad,0x000000b2,
0x000000b7,0x0004002b,0x00000006,0x000000c0,
0xbae12727,0x0004002b,0x00000006,0x000000c1,
0xbe15da06,0x0004002b,0x00000006,0x000000c2,
0xbdde4d0a,0x0004002b,0x00000006,0x000000c3,
0x3e28fae5,0x0007002c,0x0000000c,0x000000c4,
0x000000c0,0x000000c1,0x000000c2,0x000000c3,
0x0004002b,0x00000006,0x000000c5,0x3da6ac16,
0x0004002b,0x00000006,0x000000c6,0x3de1b3c7,
0x0004002b,0x00000006,0x000000c7,0xbd6cebee,
0x0004002b,0x00000006,0x000000c8,0xbcbe15aa,
0x0007002c,0x0000000c,0x000000c9,0x000000c5,
0x000000c6,0x000000c7,0x000000c8,0x0004002b,
0x00000006,0x000000ca,0xbdfdede2,0x0004002b,
0x00000006,0x000000cb,0x3c7eb6d1,0x0004002b,
0x00000006,0x000000cc,0x3ddd00ae,0x0004002b,
0x00000006,0x000000cd,0xbd2c600d,0x0007002c,
0x0000000c,0x000000ce,0x000000ca,0x000000cb,
0x000000cc,0x000000cd,0x0004002b,0x00000006,
0x000000cf,0xbd9ee43e,0x0004002b,0x00000006,
0x000000d0,0x3c740673,0x0004002b,0x00000006,
0x000000d1,0xbd4dbde8,0x0004002b,0x00000006,
0x000000d2,0xbd8617fa,0x0007002c,0x0000000c,
0x000000d3,0x000000cf,0x000000d0,0x000000d1,
0x000000d2,0x0007002c,0x00000035,0x000000d4,
0x000000c4,0x000000c9,0x000000ce,0x000000d3,
0x0004002b,0x00000006,0x000000da,0x3dbc0a29,
0x0004002b,0x00000006,0x000000db,0x3d34827e,
0x0004002b,0x00000006,0x000000dc,0xbd534032,
0x0004002b,0x00000006,0x000000dd,0x3d2af8bf,
0x0007002c,0x0000000c,0x000000de,0x000000da,
0x000000db,0x000000dc,0x000000dd,0x0004002b,
0x00000006,0x000000df,0x3d10ad68,0x0004002b,
0x00000006,0x000000e0,0x3e1d481e,0x0004002b,
0x00000006,0x000000e1,0x3d341c5f,0x0004002b,
0x00000006,0x000000e2,0xbe03fa4e,0x0007002c,
0x0000000c,0x000000e3,0x000000df,0x000000e0,
0x000000e1,0x000000e2,0x0004002b,0x00000006,
0x000000e4,0x3ddc7bad,0x0004002b,0x00000006,
0x000000e5,0xbe05cf69,0x0004002b,0x00000006,
0x000000e6,0x3d92a08c,0x0004002b,0x00000006,
0x000000e7,0xbd8ba79a,0x0007002c,0x0000000c,
0x000000e8,0x000000e4,0x000000e5,0x000000e6,
0x000000e7,0x0004002b,0x00000006,0x000000e9,
0xbec27f36,0x0004002b,0x00000006,0x000000ea,
0x3dd1b359,0x0004002b,0x00000006,0x000000eb,
0xbdc6cb1b,0x0004002b,0x00000006,0x000000ec,
0x3bfcddc5,0x0007002c,0x0000000c,0x000000ed,
0x000000e9,0x000000ea,0x000000eb,0x000000ec,
0x0007002c,0x00000035,0x000000ee,0x000000de,
0x000000e3,0x000000e8,0x000000ed,0x0004002b,
0x00000006,0x000000f5,0x3d81f545,0x0004002b,
0x00000006,0x000000f6,0xbd6167c6,0x0004002b,
0x00000006,0x000000f7,0x3e54604e,0x0004002b,
0x00000006,0x000000f8,0x3d551741,0x0007002c,
0x0000000c,0x000000f9,0x000000f5,0x000000f6,
0x000000f7,0x000000f8,0x0004002b,0x00000006,
0x000000fa,0x3dee0958,0x0004002b,0x00000006,
0x000000fb,0xbe6330fc,0x0004002b,0x00000006,
0x000000fc,0x3ea3d2e2,0x0004002b,0x00000006,
0x000000fd,0x3d785182,0x0007002c,0x0000000c,
0x000000fe,0x000000fa,0x000000fb,0x000000fc,
0x000000fd,0x0004002b,0x00000006,0x000000ff,
0xbbbfbb4e,0x0004002b,0x00000006,0x00000100,
0xbd889c63,0x0004002b,0x00000006,0x00000101,
0xbd384951,0x0004002b,0x00000006,0x00000102,
0x3d90f483,0x0007002c,0x0000000c,0x00000103,
0x000000ff,0x00000100,0x00000101,0x00000102,
0x0004002b,0x00000006,0x00000104,0xbeaa2807,
0x0004002b,0x00000006,0x00000105,0xbd9c7201,
0x0004002b,0x00000006,0x00000106,0xbdcc5c42,
0x0004002b,0x00000006,0x00000107,0xbdf1de7f,
0x0007002c,0x0000000c,0x00000108,0x00000104,
0x00000105,0x00000106,0x00000107,0x0007002c,
0x00000035,0x00000109,0x000000f9,0x000000fe,
0x00000103,0x00000108,0x0004002b,0x00000006,
0x0000010f,0xbe9ec8d2,0x0004002b,0x00000006,
0x00000110,0x3e85f090,0x0004002b,0x00000006,
0x00000111,0x3d6f791b,0x0004002b,0x00000006,
0x00000112,0x3e299fed,0x0007002c,0x0000000c,
0x00000113,0x0000010f,0x00000110,0x00000111,
0x00000112,0x0004002b,0x00000006,0x00000114,
0xbbe2df90,0x0004002b,0x00000006,0x00000115,
0x3e83c1b2,0x0004002b,0x00000006,0x00000116,
0xbe37a211,0x0004002b,0x00000006,0x00000117,
0xbe8b3348,0x0007002c,0x0000000c,0x00000118,
0x00000114,0x00000115,0x00000116,0x00000117,
0x0004002b,0x00000006,0x00000119,0x3dc34b1f,
0x0004002b,0x00000006,0x0000011a,0x3d56ac68,
0x0004002b,0x00000006,0x0000011b,0x3df24bc1,
0x0004002b,0x00000006,0x0000011c,0x3d6eead9,
0x0007002c,0x0000000c,0x0000011d,0x00000119,
0x0000011a,0x0000011b,0x0000011c,0x0004002b,
0x00000006,0x0000011e,0x3f00f17d,0x0004002b,
0x00000006,0x0000011f,0xbf13897e,0x0004002b,
0x00000006,0x00000120,0xbe590cc7,0x0004002b,
0x00000006,0x00000121,0xbea0cbfc,0x0007002c,
0x0000000c,0x00000122,0x0000011e,0x0000011f,
0x00000120,0x00000121,0x0007002c,0x00000035,
0x00000123,0x00000113,0x00000118,0x0000011d,
0x00000122,0x0004002b,0x00000006,0x0000012a,
0xbe7fc529,0x0004002b,0x00000006,0x0000012b,
0xbc6fbef7,0x0004002b,0x00000006,0x0000012c,
0xbe8c5e61,0x0004002b,0x00000006,0x0000012d,
0x3e7be6c5,0x0007002c,0x0000000c,0x0000012e,
0x0000012a,0x0000012b,0x0000012c,0x0000012d,
0x0004002b,0x00000006,0x0000012f,0x3eb6691c,
0x0004002b,0x00000006,0x00000130,0xbf272206,
0x0004002b,0x00000006,0x00000131,0xbedb848c,
0x0004002b,0x00000006,0x00000132,0x3e528689,
0x0007002c,0x0000000c,0x00000133,0x0000012f,
0x00000130,0x00000131,0x00000132,0x0004002b,
0x00000006,0x00000134,0x3e32135a,0x0004002b,
0x00000006,0x00000135,0xbec56cf4,0x0004002b,
0x00000006,0x00000136,0xbdc4411f,0x0004002b,
0x00000006,0x00000137,0xbf34e845,0x0007002c,
0x0000000c,0x00000138,0x00000134,0x00000135,
0x00000136,0x00000137,0x0004002b,0x00000006,
0x00000139,0x3e7240ac,0x0004002b,0x00000006,
0x0000013a,0xbe9bfe16,0x0004002b,0x00000006,
0x0000013b,0xbe84a08c,0x0004002b,0x00000006,
0x0000013c,0xbd4b75a5,0x0007002c,0x0000000c,
0x0000013d,0x00000139,0x0000013a,0x0000013b,
0x0000013c,0x0007002c,0x00000035,0x0000013e,
0x0000012e,0x00000133,0x00000138,0x0000013d,
0x0004002b,0x00000006,0x00000144,0xbdacf5c4,
0x0004002b,0x00000006,0x00000145,0xbd03bb75,
0x0004002b,0x00000006,0x00000146,0xbdc2efdd,
0x0004002b,0x00000006,0x00000147,0x3d6c8d28,
0x0007002c,0x0000000c,0x00000148,0x00000144,
0x00000145,0x00000146,0x00000147,0x0004002b,
0x00000006,0x00000149,0xbe24746b,0x0004002b,
0x00000006,0x0000014a,0x3e8e22b9,0x0004002b,
0x00000006,0x0000014b,0xbe0ac098,0x0004002b,
0x00000006,0x0000014c,0xbdb43cb5,0x0007002c,
0x0000000c,0x0000014d,0x00000149,0x0000014a,
0x0000014b,0x0000014c,0x0004002b,0x00000006,
0x0000014e,0xbe02d4aa,0x0004002b,0x00000006,
0x0000014f,0xbd52c449,0x0004002b,0x00000006,
0x00000150,0x3e1bec38,0x0004002b,0x00000006,
0x00000151,0xbdd52db2,0x0007002c,0x0000000c,
0x00000152,0x0000014e,0x0000014f,0x00000150,
0x00000151,0x0004002b,0x00000006,0x00000153,
0xbe8db7ff,0x0004002b,0x00000006,0x00000154,
0xbe14b469,0x0004002b,0x00000006,0x00000155,
0x3c1202ed,0x0004002b,0x00000006,0x00000156,
0x3cbe0d20,0x0007002c,0x0000000c,0x00000157,
0x00000153,0x00000154,0x00000155,0x00000156,
0x0007002c,0x00000035,0x00000158,0x00000148,
0x0000014d,0x00000152,0x00000157,0x0004002b,
0x00000006,0x0000015f,0x3e85498b,0x0004002b,
0x00000006,0x00000160,0x3c892fe2,0x0004002b,
0x00000006,0x00000161,0xbe535c71,0x0004002b,
0x00000006,0x00000162,0x3e367bbf,0x0007002c,
0x0000000c,0x00000163,0x0000015f,0x00000160,
0x00000161,0x00000162,0x0004002b,0x00000006,
0x00000164,0x3efa60fe,0x0004002b,0x00000006,
0x00000165,0x3d65111f,0x0004002b,0x00000006,
0x00000166,0x3dfa17fc,0x0004002b,0x00000006,
0x00000167,0xbca5f5ba,0x0007002c,0x0000000c,
0x00000168,0x00000164,0x00000165,0x00000166,
0x00000167,0x0004002b,0x00000006,0x00000169,
0xbecfb27b,0x0004002b,0x00000006,0x0000016a,
0xbe3c5db3,0x0004002b,0x00000006,0x0000016b,
0x3e8e2191,0x0004002b,0x00000006,0x0000016c,
0x3b1f16ef,0x0007002c,0x0000000c,0x0000016d,
0x00000169,0x0000016a,0x0000016b,0x0000016c,
0x0004002b,0x00000006,0x0000016e,0xbe865fdc,
0x0004002b,0x00000006,0x0000016f,0xbd7db6c5,
0x0004002b,0x00000006,0x00000170,0x3c7b757e,
0x0004002b,0x00000006,0x00000171,0x3c4a3944,
0x0007002c,0x0000000c,0x00000172,0x0000016e,
0x0000016f,0x00000170,0x00000171,0x0007002c,
0x00000035,0x00000173,0x00000163,0x00000168,
0x0000016d,0x00000172,0x0004002b,0x00000006,
0x00000179,0x3da73f3a,0x0004002b,0x00000006,
0x0000017a,0xbc5d1891,0x0004002b,0x00000006,
0x0000017b,0x3d739dc9,0x0004002b,0x00000006,
0x0000017c,0xbd61cb2a,0x0007002c,0x0000000c,
0x0000017d,0x00000179,0x0000017a,0x0000017b,
0x0000017c,0x0004002b,0x00000006,0x0000017e,
0x3c5c40d3,0x0004002b,0x00000006,0x0000017f,
0xbd8591d8,0x0004002b,0x00000006,0x00000180,
0xbd66dd78,0x0004002b,0x00000006,0x00000181,
0xbbda0366,0x0007002c,0x0000000c,0x00000182,
0x0000017e,0x0000017f,0x00000180,0x00000181,
0x0004002b,0x00000006,0x00000183,0xb9d7b895,
0x0004002b,0x00000006,0x00000184,0x3c2d25b1,
0x0004002b,0x00000006,0x00000185,0x3e07a01e,
0x0004002b,0x00000006,0x00000186,0x3d3f629b,
0x0007002c,0x0000000c,0x00000187,0x00000183,
0x00000184,0x00000185,0x00000186,0x0004002b,
0x00000006,0x00000188,0x3cf6d5e9,0x0004002b,
0x00000006,0x00000189,0xbddbd4eb,0x0004002b,
0x00000006,0x0000018a,0xbd14dd28,0x0004002b,
0x00000006,0x0000018b,0xbd42368c,0x0007002c,
0x0000000c,0x0000018c,0x00000188,0x00000189,
0x0000018a,0x0000018b,0x0007002c,0x00000035,
0x0000018d,0x0000017d,0x00000182,0x00000187,
0x0000018c,0x0004002b,0x00000006,0x00000194,
0x3ca319b5,0x0004002b,0x00000006,0x00000195,
0x3db89714,0x0004002b,0x00000006,0x00000196,
0x3d37e6c9,0x0004002b,0x00000006,0x00000197,
0x3d4f078c,0x0007002c,0x0000000c,0x00000198,
0x00000194,0x00000195,0x00000196,0x00000197,
0x0004002b,0x00000006,0x00000199,0x3d33c3bd,
0x0004002b,0x00000006,0x0000019a,0xbd4aa9de,
0x0004002b,0x00000006,0x0000019b,0x3d947712,
0x0004002b,0x00000006,0x0000019c,0xbbe796e9,
0x0007002c,0x0000000c,0x0000019d,0x00000199,
0x0000019a,0x0000019b,0x0000019c,0x0004002b,
0x00000006,0x0000019e,0xba9eecca,0x0004002b,
0x00000006,0x0000019f,0x3cf1e4af,0x0004002b,
0x00000006,0x000001a0,0x3d9068dc,0x0004002b,
0x00000006,0x000001a1,0x3d637708,0x0007002c,
0x0000000c,0x000001a2,0x0000019e,0x0000019f,
0x000001a0,0x000001a1,0x0004002b,0x00000006,
0x000001a3,0xbd253ae0,0x0004002b,0x00000006,
0x000001a4,0xbe022b03,0x0004002b,0x00000006,
0x000001a5,0x3aeace22,0x0004002b,0x00000006,
0x000001a6,0x3e15bb1e,0x0007002c,0x0000000c,
0x000001a7,0x000001a3,0x000001a4,0x000001a5,
0x000001a6,0x0007002c,0x00000035,0x000001a8,
0x00000198,0x0000019d,0x000001a2,0x000001a7,
0x0004002b,0x00000006,0x000001ae,0xbe90c1fc,
0x0004002b,0x00000006,0x000001af,0x3e522a6d,
0x0004002b,0x00000006,0x000001b0,0x3b8c064d,
0x0004002b,0x00000006,0x000001b1,0xbecb36cd,
0x0007002c,0x0000000c,0x000001b2,0x000001ae,
0x000001af,0x000001b0,0x000001b1,0x0004002b,
0x00000006,0x000001b3,0xbda02daa,0x0004002b,
0x00000006,0x000001b4,0x3e48b8dd,0x0004002b,
0x00000006,0x000001b5,0xbd8a4f4e,0x0004002b,
0x00000006,0x000001b6,0x3b3740fc,0x0007002c,
0x0000000c,0x000001b7,0x000001b3,0x000001b4,
0x000001b5,0x000001b6,0x0004002b,0x00000006,
0x000001b8,0x3d53680d,0x0004002b,0x00000006,
0x000001b9,0xbd107145,0x0004002b,0x00000006,
0x000001ba,0x3d5fc67c,0x0004002b,0x00000006,
0x000001bb,0x3bd61bb7,0x0007002c,0x0000000c,
0x000001bc,0x000001b8,0x000001b9,0x000001ba,
0x000001bb,0x0004002b,0x00000006,0x000001bd,
0xbdd99326,0x0004002b,0x00000006,0x000001be,
0x3e0bb7bb,0x0004002b,0x00000006,0x000001bf,
0xbd5bef0f,0x0004002b,0x00000006,0x000001c0,
0x3e56d8e2,0x0007002c,0x0000000c,0x000001c1,
0x000001bd,0x000001be,0x000001bf,0x000001c0,
0x0007002c,0x00000035,0x000001c2,0x000001b2,
0x000001b7,0x000001bc,0x000001c1,0x0004002b,
0x00000006,0x000001c9,0x3b965377,0x0004002b,
0x00000006,0x000001ca,0x3e5d7bd7,0x0004002b,
0x00000006,0x000001cb,0xbe5d09c9,0x0004002b,
0x00000006,0x000001cc,0xbb9b1573,0x0007002c,
0x0000000c,0x000001cd,0x000001c9,0x000001ca,
0x000001cb,0x000001cc,0x0004002b,0x00000006,
0x000001ce,0x3e0029b3,0x0004002b,0x00000006,
0x000001cf,0x3e0309fd,0x0004002b,0x00000006,
0x000001d0,0xbdf38001,0x0004002b,0x00000006,
0x000001d1,0x3d068d22,0x0007002c,0x0000000c,
0x000001d2,0x000001ce,0x000001cf,0x000001d0,
0x000001d1,0x0004002b,0x00000006,0x000001d3,
0x3bf9295c,0x0004002b,0x00000006,0x000001d4,
0xbd66027f,0x0004002b,0x00000006,0x000001d5,
0x3d097714,0x0004002b,0x00000006,0x000001d6,
0x3eddd09a,0x0007002c,0x0000000c,0x000001d7,
0x000001d3,0x000001d4,0x000001d5,0x000001d6,
0x0004002b,0x00000006,0x000001d8,0x3b0ec82f,
0x0004002b,0x00000006,0x000001d9,0x3dacf542,
0x0004002b,0x00000006,0x000001da,0xbe5746c7,
0x0004002b,0x00000006,0x000001db,0xbc9affcc,
0x0007002c,0x0000000c,0x000001dc,0x000001d8,
0x000001d9,0x000001da,0x000001db,0x0007002c,
0x00000035,0x000001dd,0x000001cd,0x000001d2,
0x000001d7,0x000001dc,0x0004002b,0x00000006,
0x000001e3,0x3dbf18fd,0x0004002b,0x00000006,
0x000001e4,0x3e1e8a4a,0x0004002b,0x00000006,
0x000001e5,0xbd753a6a,0x0004002b,0x00000006,
0x000001e6,0x3d125142,0x0007002c,0x0000000c,
0x000001e7,0x000001e3,0x000001e4,0x000001e5,
0x000001e6,0x0004002b,0x00000006,0x000001e8,
0xbde9d35c,0x0004002b,0x00000006,0x000001e9,
0x3d5bb6ed,0x0004002b,0x00000006,0x000001ea,
0xbc82619c,0x0004002b,0x00000006,0x000001eb,
0xbd367aea,0x0007002c,0x0000000c,0x000001ec,
0x000001e8,0x000001e9,0x000001ea,0x000001eb,
0x0004002b,0x00000006,0x000001ed,0x3e40d7cc,
0x0004002b,0x00000006,0x000001ee,0xbe1e6aaf,
0x0004002b,0x00000006,0x000001ef,0x3d595785,
0x0004002b,0x00000006,0x000001f0,0x3bc28cb0,
0x0007002c,0x0000000c,0x000001f1,0x000001ed,
0x000001ee,0x000001ef,0x000001f0,0x0004002b,
0x00000006,0x000001f2,0x3d76cbc1,0x0004002b,
0x00000006,0x000001f3,0xbd3269a8,0x0004002b,
0x00000006,0x000001f4,0x3c08a077,0x0004002b,
0x00000006,0x000001f5,0x3c9d3acb,0x0007002c,
0x0000000c,0x000001f6,0x000001f2,0x000001f3,
0x000001f4,0x000001f5,0x0007002c,0x00000035,
0x000001f7,0x000001e7,0x000001ec,0x000001f1,
0x000001f6,0x0004002b,0x00000006,0x000001fe,
0xbd0fc962,0x0004002b,0x00000006,0x000001ff,
0x3e590983,0x0004002b,0x00000006,0x00000200,
0xbdac6d3d,0x0004002b,0x00000006,0x00000201,
0x3c02316a,0x0007002c,0x0000000c,0x00000202,
0x000001fe,0x000001ff,0x00000200,0x00000201,
0x0004002b,0x00000006,0x00000203,0x3d8bfc27,
0x0004002b,0x00000006,0x00000204,0xbe29ad85,
0x0004002b,0x00000006,0x00000205,0x3d7a49c9,
0x0004002b,0x00000006,0x00000206,0xbbd0a039,
0x0007002c,0x0000000c,0x00000207,0x00000203,
0x00000204,0x00000205,0x00000206,0x0004002b,
0x00000006,0x00000208,0x3d072da0,0x0004002b,
0x00000006,0x00000209,0xbe396d85,0x0004002b,
0x00000006,0x0000020a,0x3db2b404,0x0004002b,
0x00000006,0x0000020b,0x3e1821f0,0x0007002c,
0x0000000c,0x0000020c,0x00000208,0x00000209,
0x0000020a,0x0000020b,0x0004002b,0x00000006,
0x0000020d,0xbe05b6f2,0x0004002b,0x00000006,
0x0000020e,0x3b87ab5a,0x0004002b,0x00000006,
0x0000020f,0x3cb6eb2a,0x0004002b,0x00000006,
0x00000210,0xbc67d39e,0x0007002c,0x0000000c,
0x00000211,0x0000020d,0x0000020e,0x0000020f,
0x00000210,0x0007002c,0x00000035,0x00000212,
0x00000202,0x00000207,0x0000020c,0x00000211,
0x0007002c,0x0000000c,0x00000219,0x00000083,
0x00000083,0x00000083,0x00000083,0x0004002b,
0x00000006,0x0000021b,0x3f13b4b5,0x0004002b,
0x00000006,0x0000021c,0x3e2fb99c,0x0004002b,
0x00000006,0x0000021d,0xbda82572,0x0004002b,
0x00000006,0x0000021e,0x3e563c4d,0x0007002c,
0x0000000c,0x0000021f,0x0000021b,0x0000021c,
0x0000021d,0x0000021e,0x00040015,0x00000227,
0x00000020,0x00000000,0x00040017,0x00000228,
0x00000227,0x00000003,0x00040020,0x00000229,
0x00000001,0x00000228,0x0004003b,0x00000229,
0x0000022a,0x00000001,0x00040017,0x0000022b,
0x00000227,0x00000002,0x00020014,0x0000022f,
0x0004002b,0x00000227,0x00000230,0x00000000,
0x00040020,0x00000234,0x00000009,0x00000016,
0x0004002b,0x00000227,0x0000023b,0x00000001,
0x00090019,0x00000245,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x00000246,0x00000000,
0x00000245,0x0004003b,0x00000246,0x00000247,
0x00000000,0x0004002b,0x00000227,0x0000024b,
0x00000010,0x0006002c,0x00000228,0x0000024c,
0x0000024b,0x0000024b,0x0000023b,0x0004002b,
0x00000016,0x000003b8,0xffffffff,0x0005002c,
0x00000017,0x000003b9,0x000003b8,0x000003b8,
0x0005002c,0x00000017,0x000003ba,0x00000026,
0x00000026,0x0005002c,0x00000017,0x000003bb,
0x000003b8,0x0000001e,0x0005002c,0x00000017,
0x000003bc,0x000003b8,0x00000026,0x0005002c,
0x00000017,0x000003bd,0x0000001e,0x000003b8,
0x0005002c,0x00000017,0x000003be,0x0000001e,
0x00000026,0x0005002c,0x00000017,0x000003bf,
0x00000026,0x000003b8,0x0005002c,0x00000017,
0x000003c0,0x00000026,0x0000001e,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,
0x000200f8,0x00000005,0x000300f7,0x0000024e,
0x00000000,0x000300fb,0x00000230,0x0000024f,
0x000200f8,0x0000024f,0x0004003d,0x00000228,
0x0000022c,0x0000022a,0x0007004f,0x0000022b,
0x0000022d,0x0000022c,0x0000022c,0x00000000,
0x00000001,0x0004007c,0x00000017,0x0000022e,
0x0000022d,0x00050051,0x00000016,0x00000233,
0x0000022e,0x00000000,0x00060041,0x00000234,
0x00000235,0x00000022,0x0000001e,0x00000230,
0x0004003d,0x00000016,0x00000236,0x00000235,
0x000500af,0x0000022f,0x00000237,0x00000233,
0x00000236,0x000400a8,0x0000022f,0x00000238,
0x00000237,0x000300f7,0x0000023a,0x00000000,
0x000400fa,0x00000238,0x00000239,0x0000023a,
0x000200f8,0x00000239,0x00050051,0x00000016,
0x0000023d,0x0000022e,0x00000001,0x00060041,
0x00000234,0x0000023e,0x00000022,0x0000001e,
0x0000023b,0x0004003d,0x00000016,0x0000023f,
0x0000023e,0x000500af,0x0000022f,0x00000240,
0x0000023d,0x0000023f,0x000200f9,0x0000023a,
0x000200f8,0x0000023a,0x000700f5,0x0000022f,
0x00000241,0x00000237,0x0000024f,0x00000240,
0x00000239,0x000300f7,0x00000243,0x00000000,
0x000400fa,0x00000241,0x00000242,0x00000243,
0x000200f8,0x00000242,0x000200f9,0x0000024e,
0x000200f8,0x00000243,0x0004003d,0x00000245,
0x00000248,0x00000247,0x0004003d,0x00000008,
0x000002ba,0x0000004b,0x00050080,0x00000017,
0x000002be,0x0000022e,0x000003b9,0x00050041,
0x00000023,0x000002bf,0x00000022,0x0000001e,
0x0004003d,0x00000017,0x000002c0,0x000002bf,
0x00050082,0x00000017,0x000002c2,0x000002c0,
0x000003ba,0x0008000c,0x00000017,0x000002c3,
0x00000001,0x0000002d,0x000002be,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x000002c4,
0x000002ba,0x0007005f,0x0000000c,0x000002c5,
0x000002c4,0x000002c3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000026a,0x0000004a,
0x000002c5,0x00050081,0x0000000c,0x0000026c,
0x00000034,0x0000026a,0x0004003d,0x00000008,
0x000002c8,0x00000068,0x00040064,0x00000007,
0x000002d2,0x000002c8,0x0007005f,0x0000000c,
0x000002d3,0x000002d2,0x000002c3,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000026e,
0x00000067,0x000002d3,0x00050081,0x0000000c,
0x00000270,0x0000026c,0x0000026e,0x0004003d,
0x00000008,0x000002d6,0x0000004b,0x00050080,
0x00000017,0x000002da,0x0000022e,0x000003bb,
0x0008000c,0x00000017,0x000002df,0x00000001,
0x0000002d,0x000002da,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000002e0,0x000002d6,
0x0007005f,0x0000000c,0x000002e1,0x000002e0,
0x000002df,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000272,0x00000082,0x000002e1,
0x00050081,0x0000000c,0x00000274,0x00000270,
0x00000272,0x0004003d,0x00000008,0x000002e4,
0x00000068,0x00040064,0x00000007,0x000002ee,
0x000002e4,0x0007005f,0x0000000c,0x000002ef,
0x000002ee,0x000002df,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x00000276,0x0000009e,
0x000002ef,0x00050081,0x0000000c,0x00000278,
0x00000274,0x00000276,0x0004003d,0x00000008,
0x000002f2,0x0000004b,0x00050080,0x00000017,
0x000002f6,0x0000022e,0x000003bc,0x0008000c,
0x00000017,0x000002fb,0x00000001,0x0000002d,
0x000002f6,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x000002fc,0x000002f2,0x0007005f,
0x0000000c,0x000002fd,0x000002fc,0x000002fb,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000027a,0x000000b8,0x000002fd,0x00050081,
0x0000000c,0x0000027c,0x00000278,0x0000027a,
0x0004003d,0x00000008,0x00000300,0x00000068,
0x00040064,0x00000007,0x0000030a,0x00000300,
0x0007005f,0x0000000c,0x0000030b,0x0000030a,
0x000002fb,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000027e,0x000000d4,0x0000030b,
0x00050081,0x0000000c,0x00000280,0x0000027c,
0x0000027e,0x0004003d,0x00000008,0x0000030e,
0x0000004b,0x00050080,0x00000017,0x00000312,
0x0000022e,0x000003bd,0x0008000c,0x00000017,
0x00000317,0x00000001,0x0000002d,0x00000312,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x00000318,0x0000030e,0x0007005f,0x0000000c,
0x00000319,0x00000318,0x00000317,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x00000282,
0x000000ee,0x00000319,0x00050081,0x0000000c,
0x00000284,0x00000280,0x00000282,0x0004003d,
0x00000008,0x0000031c,0x00000068,0x00040064,
0x00000007,0x00000326,0x0000031c,0x0007005f,
0x0000000c,0x00000327,0x00000326,0x00000317,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000286,0x00000109,0x00000327,0x00050081,
0x0000000c,0x00000288,0x00000284,0x00000286,
0x0004003d,0x00000008,0x0000032a,0x0000004b,
0x0008000c,0x00000017,0x00000333,0x00000001,
0x0000002d,0x0000022e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x00000334,0x0000032a,
0x0007005f,0x0000000c,0x00000335,0x00000334,
0x00000333,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000028a,0x00000123,0x00000335,
0x00050081,0x0000000c,0x0000028c,0x00000288,
0x0000028a,0x0004003d,0x00000008,0x00000338,
0x00000068,0x00040064,0x00000007,0x00000342,
0x00000338,0x0007005f,0x0000000c,0x00000343,
0x00000342,0x00000333,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000028e,0x0000013e,
0x00000343,0x00050081,0x0000000c,0x00000290,
0x0000028c,0x0000028e,0x0004003d,0x00000008,
0x00000346,0x0000004b,0x00050080,0x00000017,
0x0000034a,0x0000022e,0x000003be,0x0008000c,
0x00000017,0x0000034f,0x00000001,0x0000002d,
0x0000034a,0x0000001f,0x000002c2,0x00040064,
0x00000007,0x00000350,0x00000346,0x0007005f,
0x0000000c,0x00000351,0x00000350,0x0000034f,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000292,0x00000158,0x00000351,0x00050081,
0x0000000c,0x00000294,0x00000290,0x00000292,
0x0004003d,0x00000008,0x00000354,0x00000068,
0x00040064,0x00000007,0x0000035e,0x00000354,
0x0007005f,0x0000000c,0x0000035f,0x0000035e,
0x0000034f,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000296,0x00000173,0x0000035f,
0x00050081,0x0000000c,0x00000298,0x00000294,
0x00000296,0x0004003d,0x00000008,0x00000362,
0x0000004b,0x00050080,0x00000017,0x00000366,
0x0000022e,0x000003bf,0x0008000c,0x00000017,
0x0000036b,0x00000001,0x0000002d,0x00000366,
0x0000001f,0x000002c2,0x00040064,0x00000007,
0x0000036c,0x00000362,0x0007005f,0x0000000c,
0x0000036d,0x0000036c,0x0000036b,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000029a,
0x0000018d,0x0000036d,0x00050081,0x0000000c,
0x0000029c,0x00000298,0x0000029a,0x0004003d,
0x00000008,0x00000370,0x00000068,0x00040064,
0x00000007,0x0000037a,0x00000370,0x0007005f,
0x0000000c,0x0000037b,0x0000037a,0x0000036b,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000029e,0x000001a8,0x0000037b,0x00050081,
0x0000000c,0x000002a0,0x0000029c,0x0000029e,
0x0004003d,0x00000008,0x0000037e,0x0000004b,
0x00050080,0x00000017,0x00000382,0x0000022e,
0x000003c0,0x0008000c,0x00000017,0x00000387,
0x00000001,0x0000002d,0x00000382,0x0000001f,
0x000002c2,0x00040064,0x00000007,0x00000388,
0x0000037e,0x0007005f,0x0000000c,0x00000389,
0x00000388,0x00000387,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002a2,0x000001c2,
0x00000389,0x00050081,0x0000000c,0x000002a4,
0x000002a0,0x000002a2,0x0004003d,0x00000008,
0x0000038c,0x00000068,0x00040064,0x00000007,
0x00000396,0x0000038c,0x0007005f,0x0000000c,
0x00000397,0x00000396,0x00000387,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x000002a6,
0x000001dd,0x00000397,0x00050081,0x0000000c,
0x000002a8,0x000002a4,0x000002a6,0x0004003d,
0x00000008,0x0000039a,0x0000004b,0x00050080,
0x00000017,0x0000039e,0x0000022e,0x000003ba,
0x0008000c,0x00000017,0x000003a3,0x00000001,
0x0000002d,0x0000039e,0x0000001f,0x000002c2,
0x00040064,0x00000007,0x000003a4,0x0000039a,
0x0007005f,0x0000000c,0x000003a5,0x000003a4,
0x000003a3,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x000002aa,0x000001f7,0x000003a5,
0x00050081,0x0000000c,0x000002ac,0x000002a8,
0x000002aa,0x0004003d,0x00000008,0x000003a8,
0x00000068,0x00040064,0x00000007,0x000003b2,
0x000003a8,0x0007005f,0x0000000c,0x000003b3,
0x000003b2,0x000003a3,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000002ae,0x00000212,
0x000003b3,0x00050081,0x0000000c,0x000002b0,
0x000002ac,0x000002ae,0x0007000c,0x0000000c,
0x000002b2,0x00000001,0x00000028,0x000002b0,
0x00000219,0x0007000c,0x0000000c,0x000002b4,
0x00000001,0x00000025,0x000002b0,0x00000219,
0x00050085,0x0000000c,0x000002b5,0x0000021f,
0x000002b4,0x00050081,0x0000000c,0x000002b6,
0x000002b2,0x000002b5,0x00040063,0x00000248,
0x0000022e,0x000002b6,0x000200f9,0x0000024e,
0x000200f8,0x0000024e,0x000100fd,0x00010038}
+32
View File
@@ -0,0 +1,32 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: sub-band residuals 1. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define MODEL1_texOff(o) fetch_(in0, vec2(o))
#define MODEL2_texOff(o) fetch_(in1, vec2(o))
#define FEATURE1_texOff(o) fetch_(in2, vec2(o))
vec4 hook()
{
vec4 res = vec4(0.0245648548007011,-0.4467784762382507,0.0197526942938566,-0.0110000418499112);
res += mat4(0.0302665308117867,-0.9262221455574036,-0.1161134764552116,-0.0506900474429131,0.2716045379638672,-0.0485871583223343,0.0044713355600834,-0.4274623394012451,0.0749531090259552,-0.3700785338878632,0.0350039415061474,-0.0540786534547806,-0.0607390031218529,-0.8019900321960449,0.0923245251178741,0.1258827745914459) * MODEL1_texOff(0);
res += mat4(-0.0649135261774063,0.0815236791968346,0.0067334296181798,0.1277425885200500,-0.0051357815973461,-0.1485908329486847,0.0074226572178304,0.0050623500719666,0.0588018335402012,-0.0692552924156189,0.1288725286722183,-0.0989386290311813,0.0427936837077141,0.0967708528041840,-0.0455632135272026,-0.0711275041103363) * MODEL2_texOff(0);
res += FEATURE1_texOff(0);
res = max(res, vec4(0.0)) + vec4(0.9927186965942383,0.0570580027997494,1.3226752281188965,1.0069466829299927) * min(res, vec4(0.0));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+180
View File
@@ -0,0 +1,180 @@
{0x07230203,0x00010000,0x000d000b,0x000000f5,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000085,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000006e,0x00000021,0x00000003,
0x00040047,0x0000006e,0x00000022,0x00000000,
0x00040047,0x00000085,0x0000000b,0x0000001c,
0x00030047,0x000000a2,0x00000019,0x00040047,
0x000000a2,0x00000021,0x00000000,0x00040047,
0x000000a2,0x00000022,0x00000000,0x00040047,
0x000000a7,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0x3cc93c3c,0x0004002b,
0x00000006,0x00000031,0xbee4c026,0x0004002b,
0x00000006,0x00000032,0x3ca1d067,0x0004002b,
0x00000006,0x00000033,0xbc343985,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0x3cf7f184,0x0004002b,0x00000006,
0x00000037,0xbf6d1ce5,0x0004002b,0x00000006,
0x00000038,0xbdedcce7,0x0004002b,0x00000006,
0x00000039,0xbd4fa05e,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0x3e8b0fc0,0x0004002b,0x00000006,0x0000003c,
0xbd470354,0x0004002b,0x00000006,0x0000003d,
0x3b928448,0x0004002b,0x00000006,0x0000003e,
0xbedadc58,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0x3d998104,
0x0004002b,0x00000006,0x00000041,0xbebd7aef,
0x0004002b,0x00000006,0x00000042,0x3d0f604b,
0x0004002b,0x00000006,0x00000043,0xbd5d8194,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0xbd78c976,0x0004002b,
0x00000006,0x00000046,0xbf4d4f38,0x0004002b,
0x00000006,0x00000047,0x3dbd14a4,0x0004002b,
0x00000006,0x00000048,0x3e00e76a,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x0000004c,
0x00000000,0x0004002b,0x00000006,0x00000053,
0xbd84f162,0x0004002b,0x00000006,0x00000054,
0x3da6f5e3,0x0004002b,0x00000006,0x00000055,
0x3bdca41a,0x0004002b,0x00000006,0x00000056,
0x3e02cef4,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0xbba84a0f,
0x0004002b,0x00000006,0x00000059,0xbe182832,
0x0004002b,0x00000006,0x0000005a,0x3bf339c3,
0x0004002b,0x00000006,0x0000005b,0x3ba5e212,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0x3d70da31,0x0004002b,
0x00000006,0x0000005e,0xbd8dd5b8,0x0004002b,
0x00000006,0x0000005f,0x3e03f729,0x0004002b,
0x00000006,0x00000060,0xbdcaa056,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0x3d2f486e,0x0004002b,0x00000006,
0x00000063,0x3dc62fcc,0x0004002b,0x00000006,
0x00000064,0xbd3aa07e,0x0004002b,0x00000006,
0x00000065,0xbd91ab4c,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004003b,0x00000009,0x0000006e,0x00000000,
0x0007002c,0x0000000c,0x00000074,0x0000004c,
0x0000004c,0x0000004c,0x0000004c,0x0004002b,
0x00000006,0x00000076,0x3f7e22d0,0x0004002b,
0x00000006,0x00000077,0x3d69b5a7,0x0004002b,
0x00000006,0x00000078,0x3fa94d6c,0x0004002b,
0x00000006,0x00000079,0x3f80e3a1,0x0007002c,
0x0000000c,0x0000007a,0x00000076,0x00000077,
0x00000078,0x00000079,0x00040015,0x00000082,
0x00000020,0x00000000,0x00040017,0x00000083,
0x00000082,0x00000003,0x00040020,0x00000084,
0x00000001,0x00000083,0x0004003b,0x00000084,
0x00000085,0x00000001,0x00040017,0x00000086,
0x00000082,0x00000002,0x00020014,0x0000008a,
0x0004002b,0x00000082,0x0000008b,0x00000000,
0x00040020,0x0000008f,0x00000009,0x00000016,
0x0004002b,0x00000082,0x00000096,0x00000001,
0x00090019,0x000000a0,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x000000a1,0x00000000,
0x000000a0,0x0004003b,0x000000a1,0x000000a2,
0x00000000,0x0004002b,0x00000082,0x000000a6,
0x00000010,0x0006002c,0x00000083,0x000000a7,
0x000000a6,0x000000a6,0x00000096,0x0005002c,
0x00000017,0x000000f4,0x00000026,0x00000026,
0x00050036,0x00000002,0x00000004,0x00000000,
0x00000003,0x000200f8,0x00000005,0x000300f7,
0x000000a8,0x00000000,0x000300fb,0x0000008b,
0x000000a9,0x000200f8,0x000000a9,0x0004003d,
0x00000083,0x00000087,0x00000085,0x0007004f,
0x00000086,0x00000088,0x00000087,0x00000087,
0x00000000,0x00000001,0x0004007c,0x00000017,
0x00000089,0x00000088,0x00050051,0x00000016,
0x0000008e,0x00000089,0x00000000,0x00060041,
0x0000008f,0x00000090,0x00000022,0x0000001e,
0x0000008b,0x0004003d,0x00000016,0x00000091,
0x00000090,0x000500af,0x0000008a,0x00000092,
0x0000008e,0x00000091,0x000400a8,0x0000008a,
0x00000093,0x00000092,0x000300f7,0x00000095,
0x00000000,0x000400fa,0x00000093,0x00000094,
0x00000095,0x000200f8,0x00000094,0x00050051,
0x00000016,0x00000098,0x00000089,0x00000001,
0x00060041,0x0000008f,0x00000099,0x00000022,
0x0000001e,0x00000096,0x0004003d,0x00000016,
0x0000009a,0x00000099,0x000500af,0x0000008a,
0x0000009b,0x00000098,0x0000009a,0x000200f9,
0x00000095,0x000200f8,0x00000095,0x000700f5,
0x0000008a,0x0000009c,0x00000092,0x000000a9,
0x0000009b,0x00000094,0x000300f7,0x0000009e,
0x00000000,0x000400fa,0x0000009c,0x0000009d,
0x0000009e,0x000200f8,0x0000009d,0x000200f9,
0x000000a8,0x000200f8,0x0000009e,0x0004003d,
0x000000a0,0x000000a3,0x000000a2,0x0004003d,
0x00000008,0x000000c8,0x0000004b,0x00050041,
0x00000023,0x000000cd,0x00000022,0x0000001e,
0x0004003d,0x00000017,0x000000ce,0x000000cd,
0x00050082,0x00000017,0x000000d0,0x000000ce,
0x000000f4,0x0008000c,0x00000017,0x000000d1,
0x00000001,0x0000002d,0x00000089,0x0000001f,
0x000000d0,0x00040064,0x00000007,0x000000d2,
0x000000c8,0x0007005f,0x0000000c,0x000000d3,
0x000000d2,0x000000d1,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000000b5,0x0000004a,
0x000000d3,0x00050081,0x0000000c,0x000000b7,
0x00000034,0x000000b5,0x0004003d,0x00000008,
0x000000d6,0x00000068,0x00040064,0x00000007,
0x000000e0,0x000000d6,0x0007005f,0x0000000c,
0x000000e1,0x000000e0,0x000000d1,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x000000b9,
0x00000067,0x000000e1,0x00050081,0x0000000c,
0x000000bb,0x000000b7,0x000000b9,0x0004003d,
0x00000008,0x000000e4,0x0000006e,0x00040064,
0x00000007,0x000000ee,0x000000e4,0x0007005f,
0x0000000c,0x000000ef,0x000000ee,0x000000d1,
0x00000002,0x0000001e,0x00050081,0x0000000c,
0x000000be,0x000000bb,0x000000ef,0x0007000c,
0x0000000c,0x000000c0,0x00000001,0x00000028,
0x000000be,0x00000074,0x0007000c,0x0000000c,
0x000000c2,0x00000001,0x00000025,0x000000be,
0x00000074,0x00050085,0x0000000c,0x000000c3,
0x0000007a,0x000000c2,0x00050081,0x0000000c,
0x000000c4,0x000000c0,0x000000c3,0x00040063,
0x000000a3,0x00000089,0x000000c4,0x000200f9,
0x000000a8,0x000200f8,0x000000a8,0x000100fd,
0x00010038}
+32
View File
@@ -0,0 +1,32 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: sub-band residuals 2. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define MODEL1_texOff(o) fetch_(in0, vec2(o))
#define MODEL2_texOff(o) fetch_(in1, vec2(o))
#define FEATURE2_texOff(o) fetch_(in2, vec2(o))
vec4 hook()
{
vec4 res = vec4(-0.0425243787467480,-0.3715015351772308,-0.0256227850914001,-0.2774516046047211);
res += mat4(0.0238118842244148,0.0295480657368898,-0.0066418983042240,0.1021223962306976,-0.0568209178745747,-0.4355100393295288,-0.2700522541999817,-0.2060186564922333,-0.0689613372087479,-0.1689691990613937,-0.0306748505681753,-0.2461252212524414,-0.0057375836186111,-0.1892303228378296,-0.0285871494561434,-0.5032613277435303) * MODEL1_texOff(0);
res += mat4(0.5463213324546814,0.0972800329327583,0.0307560767978430,0.0678058937191963,-0.0356063023209572,-0.7013865113258362,0.1890443563461304,-0.1036657467484474,-0.1745826154947281,-0.2942218780517578,-0.0485423319041729,-0.2983124554157257,-0.0524431839585304,-0.3261034786701202,0.3217246532440186,0.1958018541336060) * MODEL2_texOff(0);
res += FEATURE2_texOff(0);
res = max(res, vec4(0.0)) + vec4(0.1391339898109436,0.0960328355431557,0.6235341429710388,0.1177272796630859) * min(res, vec4(0.0));
return res;
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+180
View File
@@ -0,0 +1,180 @@
{0x07230203,0x00010000,0x000d000b,0x000000f5,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x00000085,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000006e,0x00000021,0x00000003,
0x00040047,0x0000006e,0x00000022,0x00000000,
0x00040047,0x00000085,0x0000000b,0x0000001c,
0x00030047,0x000000a2,0x00000019,0x00040047,
0x000000a2,0x00000021,0x00000000,0x00040047,
0x000000a2,0x00000022,0x00000000,0x00040047,
0x000000a7,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0xbd2e2e0b,0x0004002b,
0x00000006,0x00000031,0xbebe3573,0x0004002b,
0x00000006,0x00000032,0xbcd1e6e0,0x0004002b,
0x00000006,0x00000033,0xbe8e0e23,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0x3cc31124,0x0004002b,0x00000006,
0x00000037,0x3cf20ec9,0x0004002b,0x00000006,
0x00000038,0xbbd9a448,0x0004002b,0x00000006,
0x00000039,0x3dd1258c,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0xbd68bd0d,0x0004002b,0x00000006,0x0000003c,
0xbedefb2c,0x0004002b,0x00000006,0x0000003d,
0xbe8a444a,0x0004002b,0x00000006,0x0000003e,
0xbe52f68e,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0xbd8d3b9a,
0x0004002b,0x00000006,0x00000041,0xbe2d0643,
0x0004002b,0x00000006,0x00000042,0xbcfb49d3,
0x0004002b,0x00000006,0x00000043,0xbe7c0840,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0xbbbc0257,0x0004002b,
0x00000006,0x00000046,0xbe41c598,0x0004002b,
0x00000006,0x00000047,0xbcea2f99,0x0004002b,
0x00000006,0x00000048,0xbf00d5bc,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x0000004c,
0x00000000,0x0004002b,0x00000006,0x00000053,
0x3f0bdbb7,0x0004002b,0x00000006,0x00000054,
0x3dc73ac1,0x0004002b,0x00000006,0x00000055,
0x3cfbf42b,0x0004002b,0x00000006,0x00000056,
0x3d8addd1,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0xbd11d7ea,
0x0004002b,0x00000006,0x00000059,0xbf338e11,
0x0004002b,0x00000006,0x0000005a,0x3e4194d8,
0x0004002b,0x00000006,0x0000005b,0xbdd44eb5,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0xbe32c5c9,0x0004002b,
0x00000006,0x0000005e,0xbe96a440,0x0004002b,
0x00000006,0x0000005f,0xbd46d453,0x0004002b,
0x00000006,0x00000060,0xbe98bc69,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0xbd56ceaa,0x0004002b,0x00000006,
0x00000063,0xbea6f709,0x0004002b,0x00000006,
0x00000064,0x3ea4b918,0x0004002b,0x00000006,
0x00000065,0x3e488048,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004003b,0x00000009,0x0000006e,0x00000000,
0x0007002c,0x0000000c,0x00000074,0x0000004c,
0x0000004c,0x0000004c,0x0000004c,0x0004002b,
0x00000006,0x00000076,0x3e0e7924,0x0004002b,
0x00000006,0x00000077,0x3dc4acdd,0x0004002b,
0x00000006,0x00000078,0x3f1f9fef,0x0004002b,
0x00000006,0x00000079,0x3df11b00,0x0007002c,
0x0000000c,0x0000007a,0x00000076,0x00000077,
0x00000078,0x00000079,0x00040015,0x00000082,
0x00000020,0x00000000,0x00040017,0x00000083,
0x00000082,0x00000003,0x00040020,0x00000084,
0x00000001,0x00000083,0x0004003b,0x00000084,
0x00000085,0x00000001,0x00040017,0x00000086,
0x00000082,0x00000002,0x00020014,0x0000008a,
0x0004002b,0x00000082,0x0000008b,0x00000000,
0x00040020,0x0000008f,0x00000009,0x00000016,
0x0004002b,0x00000082,0x00000096,0x00000001,
0x00090019,0x000000a0,0x00000006,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x000000a1,0x00000000,
0x000000a0,0x0004003b,0x000000a1,0x000000a2,
0x00000000,0x0004002b,0x00000082,0x000000a6,
0x00000010,0x0006002c,0x00000083,0x000000a7,
0x000000a6,0x000000a6,0x00000096,0x0005002c,
0x00000017,0x000000f4,0x00000026,0x00000026,
0x00050036,0x00000002,0x00000004,0x00000000,
0x00000003,0x000200f8,0x00000005,0x000300f7,
0x000000a8,0x00000000,0x000300fb,0x0000008b,
0x000000a9,0x000200f8,0x000000a9,0x0004003d,
0x00000083,0x00000087,0x00000085,0x0007004f,
0x00000086,0x00000088,0x00000087,0x00000087,
0x00000000,0x00000001,0x0004007c,0x00000017,
0x00000089,0x00000088,0x00050051,0x00000016,
0x0000008e,0x00000089,0x00000000,0x00060041,
0x0000008f,0x00000090,0x00000022,0x0000001e,
0x0000008b,0x0004003d,0x00000016,0x00000091,
0x00000090,0x000500af,0x0000008a,0x00000092,
0x0000008e,0x00000091,0x000400a8,0x0000008a,
0x00000093,0x00000092,0x000300f7,0x00000095,
0x00000000,0x000400fa,0x00000093,0x00000094,
0x00000095,0x000200f8,0x00000094,0x00050051,
0x00000016,0x00000098,0x00000089,0x00000001,
0x00060041,0x0000008f,0x00000099,0x00000022,
0x0000001e,0x00000096,0x0004003d,0x00000016,
0x0000009a,0x00000099,0x000500af,0x0000008a,
0x0000009b,0x00000098,0x0000009a,0x000200f9,
0x00000095,0x000200f8,0x00000095,0x000700f5,
0x0000008a,0x0000009c,0x00000092,0x000000a9,
0x0000009b,0x00000094,0x000300f7,0x0000009e,
0x00000000,0x000400fa,0x0000009c,0x0000009d,
0x0000009e,0x000200f8,0x0000009d,0x000200f9,
0x000000a8,0x000200f8,0x0000009e,0x0004003d,
0x000000a0,0x000000a3,0x000000a2,0x0004003d,
0x00000008,0x000000c8,0x0000004b,0x00050041,
0x00000023,0x000000cd,0x00000022,0x0000001e,
0x0004003d,0x00000017,0x000000ce,0x000000cd,
0x00050082,0x00000017,0x000000d0,0x000000ce,
0x000000f4,0x0008000c,0x00000017,0x000000d1,
0x00000001,0x0000002d,0x00000089,0x0000001f,
0x000000d0,0x00040064,0x00000007,0x000000d2,
0x000000c8,0x0007005f,0x0000000c,0x000000d3,
0x000000d2,0x000000d1,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x000000b5,0x0000004a,
0x000000d3,0x00050081,0x0000000c,0x000000b7,
0x00000034,0x000000b5,0x0004003d,0x00000008,
0x000000d6,0x00000068,0x00040064,0x00000007,
0x000000e0,0x000000d6,0x0007005f,0x0000000c,
0x000000e1,0x000000e0,0x000000d1,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x000000b9,
0x00000067,0x000000e1,0x00050081,0x0000000c,
0x000000bb,0x000000b7,0x000000b9,0x0004003d,
0x00000008,0x000000e4,0x0000006e,0x00040064,
0x00000007,0x000000ee,0x000000e4,0x0007005f,
0x0000000c,0x000000ef,0x000000ee,0x000000d1,
0x00000002,0x0000001e,0x00050081,0x0000000c,
0x000000be,0x000000bb,0x000000ef,0x0007000c,
0x0000000c,0x000000c0,0x00000001,0x00000028,
0x000000be,0x00000074,0x0007000c,0x0000000c,
0x000000c2,0x00000001,0x00000025,0x000000be,
0x00000074,0x00050085,0x0000000c,0x000000c3,
0x0000007a,0x000000c2,0x00050081,0x0000000c,
0x000000c4,0x000000c0,0x000000c3,0x00040063,
0x000000a3,0x00000089,0x000000c4,0x000200f9,
0x000000a8,0x000200f8,0x000000a8,0x000100fd,
0x00010038}
+45
View File
@@ -0,0 +1,45 @@
#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: sub-pixel convolution 1. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
#define RES1_texOff(o) fetch_(in0, vec2(o))
#define RES2_texOff(o) fetch_(in1, vec2(o))
vec4 hook()
{
vec4 res = vec4(0.2010385394096375,0.2058132737874985,0.1918809115886688,0.1961363703012466);
res += mat4x4(-0.0005980331334285,-0.0095877395942807,-0.0149448839947581,-0.0026380482595414,0.0320665836334229,-0.0706205591559410,-0.0054677254520357,0.0215112231671810,-0.0025710910558701,-0.0000433265340689,0.0044494951143861,-0.0034823501482606,-0.0050858515314758,0.0109513988718390,0.0208286065608263,-0.0032168829347938) * RES1_texOff(vec2(-1,-1));
res += mat4x4(-0.0145305208861828,0.0246876608580351,-0.0038286084309220,-0.0033089490607381,-0.0920709222555161,-0.0767898634076118,0.0012083095498383,-0.0751532614231110,0.0001302754972130,-0.0107085108757019,-0.0010383903281763,-0.0059571005403996,0.0809685289859772,0.0414833538234234,0.0227938480675220,-0.0211347509175539) * RES2_texOff(vec2(-1,-1));
res += mat4x4(0.0160999298095703,0.0364215746521950,-0.0377063788473606,-0.0449111759662628,-0.0476365163922310,0.1522845029830933,-0.0131391752511263,-0.0476671792566776,-0.0378389135003090,0.0235454943031073,0.0224007442593575,-0.0010372076649219,-0.0089435689151287,-0.0293026417493820,0.0274190884083509,0.0469092652201653) * RES1_texOff(vec2(-1,0));
res += mat4x4(0.0297575183212757,-0.0132508194074035,-0.0044682323932648,-0.0096222748979926,0.2525918781757355,0.1873829364776611,-0.5599535703659058,-0.2372044622898102,0.0033207221422344,0.0256173480302095,0.0294605866074562,0.0323960892856121,-0.1679904460906982,-0.1278967708349228,0.3168168365955353,0.1978507637977600) * RES2_texOff(vec2(-1,0));
res += mat4x4(-0.0047590560279787,-0.0149335600435734,0.0033453819341958,-0.0012247267877683,0.1112466752529144,0.0147760482504964,0.0031189601868391,0.0391573049128056,-0.0028154491446912,-0.0036881719715893,-0.0116015253588557,-0.0037573333829641,0.0047581391409039,0.0071071563288569,-0.0033221673220396,0.0004882142529823) * RES1_texOff(vec2(-1,1));
res += mat4x4(-0.0025197160430253,-0.0018677815096453,0.0038254233077168,0.0041981274262071,-0.1321131736040115,-0.0494364202022552,0.0760654658079147,-0.1386690139770508,-0.0016222692793235,-0.0060105528682470,0.0010201989207417,0.0092753591015935,-0.0194614846259356,0.0087382243946195,-0.0606758072972298,0.0156162241473794) * RES2_texOff(vec2(-1,1));
res += mat4x4(-0.0073722628876567,0.0012844242155552,0.0241398401558399,-0.0075527969747782,-0.0865194946527481,-0.0610522404313087,0.0289319511502981,-0.0994452014565468,0.0281447004526854,-0.0250582899898291,0.0044891634024680,-0.0246205236762762,0.0112307453528047,-0.0010844616917893,-0.0223584957420826,0.0177635718137026) * RES1_texOff(vec2(0,-1));
res += mat4x4(-0.0585863515734673,0.0953190475702286,-0.0555586628615856,0.1033507287502289,0.1560877263545990,-0.0690897777676582,-0.0341389514505863,-0.0661668032407761,0.0531073249876499,-0.0266165956854820,-0.0203275382518768,0.0017760475166142,-0.1300747394561768,0.1810652017593384,0.0381597876548767,0.1397419273853302) * RES2_texOff(vec2(0,-1));
res += mat4x4(0.6259804368019104,0.6062518954277039,0.5450409054756165,0.5966195464134216,-0.0423948727548122,0.0760537460446358,-0.0113651463761926,0.3007817566394806,-0.3218322694301605,0.2713021934032440,-0.3143473267555237,0.2303840517997742,0.3493050038814545,0.3590726852416992,0.4138027429580688,0.3391666412353516) * RES1_texOff(vec2(0,0));
res += mat4x4(0.0790478289127350,-0.0978994593024254,0.0779844969511032,-0.0823706611990929,0.0094470111653209,0.1671760678291321,0.1201528310775757,-0.2016288936138153,0.3667598366737366,0.3651430010795593,-0.3612343966960907,-0.2978236973285675,-0.4231655597686768,0.0091423410922289,-0.1918412446975708,0.4224558770656586) * RES2_texOff(vec2(0,0));
res += mat4x4(-0.0186564289033413,0.0274957418441772,-0.0064405309967697,0.0056951809674501,0.4864942431449890,-0.2563461959362030,0.4357284605503082,-0.2976118028163910,0.0374982468783855,0.0167757049202919,0.0305800959467888,0.0232830215245485,0.0138373551890254,-0.0191283021122217,0.0032355054281652,0.0055057541467249) * RES1_texOff(vec2(0,1));
res += mat4x4(-0.0276355985552073,0.0048149987123907,-0.0251619722694159,-0.0057246969081461,0.0271473955363035,-0.0042668608948588,-0.0594691745936871,0.2255926281213760,-0.0203660242259502,0.0721646770834923,0.0137230781838298,-0.0650938376784325,-0.3049557507038116,0.2035628110170364,-0.2509683668613434,0.1962853819131851) * RES2_texOff(vec2(0,1));
res += mat4x4(0.0109980758279562,-0.0053752651438117,-0.0112550277262926,0.0024017230607569,0.0362104885280132,0.0084348218515515,-0.0106990104541183,-0.0207723993808031,-0.0014961160486564,0.0066790678538382,0.0028113177977502,0.0025022011250257,-0.0093937022611499,0.0016421369509771,0.0035362334456295,-0.0058064293116331) * RES1_texOff(vec2(1,-1));
res += mat4x4(0.0138889988884330,-0.0078343702480197,0.0061464929021895,0.0202130675315857,-0.0257590841501951,-0.0366640128195286,0.0250097587704659,-0.0498071312904358,-0.0103149358183146,-0.0001786737266229,-0.0099909817799926,0.0062733208760619,0.0131437368690968,-0.0005469865864143,-0.0388854071497917,0.0612070746719837) * RES2_texOff(vec2(1,-1));
res += mat4x4(0.0052813654765487,0.0215748809278011,0.0107395220547915,-0.0079439217224717,0.0382786765694618,0.0697424262762070,-0.0415962152183056,0.0657853558659554,0.0209470037370920,-0.0218399092555046,-0.0447359494864941,0.0407319553196430,-0.0040902681648731,-0.0196106657385826,-0.0018554026028141,0.0203906055539846) * RES1_texOff(vec2(1,0));
res += mat4x4(-0.0106181986629963,0.0084018819034100,0.0131329754367471,-0.0198754761368036,0.1117177084088326,0.0990846082568169,-0.0732304081320763,0.0163581725209951,-0.0648830309510231,-0.0451613292098045,0.0206844564527273,0.0031441387254745,-0.0106161693111062,-0.0567689687013626,0.0782861113548279,-0.0306094046682119) * RES2_texOff(vec2(1,0));
res += mat4x4(0.0012452082009986,-0.0026056850329041,-0.0096226977184415,-0.0037850935477763,-0.0190967041999102,0.0534373670816422,0.1599360853433609,0.0834670960903168,-0.0070255175232887,0.0012873009545729,0.0030876772943884,-0.0093916896730661,-0.0033529615029693,0.0043485122732818,0.0089034689590335,-0.0067489291541278) * RES1_texOff(vec2(1,1));
res += mat4x4(0.0004713654634543,-0.0034161377698183,-0.0026913962792605,0.0053522582165897,-0.0040974905714393,0.0273330621421337,-0.0333138220012188,-0.0701237097382545,0.0082997502759099,-0.0183656588196754,-0.0122841577976942,-0.0052855615504086,-0.0023795007728040,-0.0438593104481697,-0.1101513057947159,-0.0182559806853533) * RES2_texOff(vec2(1,1));
return vec4(res);
}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
+689
View File
@@ -0,0 +1,689 @@
{0x07230203,0x00010000,0x000d000b,0x000003af,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000021e,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00030047,0x00000020,0x00000002,0x00050048,
0x00000020,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000004b,0x00000021,0x00000001,
0x00040047,0x0000004b,0x00000022,0x00000000,
0x00040047,0x00000068,0x00000021,0x00000002,
0x00040047,0x00000068,0x00000022,0x00000000,
0x00040047,0x0000021e,0x0000000b,0x0000001c,
0x00030047,0x0000023b,0x00000019,0x00040047,
0x0000023b,0x00000021,0x00000000,0x00040047,
0x0000023b,0x00000022,0x00000000,0x00040047,
0x00000240,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00030016,0x00000006,0x00000020,0x00090019,
0x00000007,0x00000006,0x00000001,0x00000000,
0x00000000,0x00000000,0x00000001,0x00000000,
0x0003001b,0x00000008,0x00000007,0x00040020,
0x00000009,0x00000000,0x00000008,0x00040017,
0x0000000c,0x00000006,0x00000004,0x00040015,
0x00000016,0x00000020,0x00000001,0x00040017,
0x00000017,0x00000016,0x00000002,0x0004002b,
0x00000016,0x0000001e,0x00000000,0x0005002c,
0x00000017,0x0000001f,0x0000001e,0x0000001e,
0x0003001e,0x00000020,0x00000017,0x00040020,
0x00000021,0x00000009,0x00000020,0x0004003b,
0x00000021,0x00000022,0x00000009,0x00040020,
0x00000023,0x00000009,0x00000017,0x0004002b,
0x00000016,0x00000026,0x00000001,0x0004002b,
0x00000006,0x00000030,0x3e4ddd0c,0x0004002b,
0x00000006,0x00000031,0x3e52c0b7,0x0004002b,
0x00000006,0x00000032,0x3e447c6e,0x0004002b,
0x00000006,0x00000033,0x3e48d7f9,0x0007002c,
0x0000000c,0x00000034,0x00000030,0x00000031,
0x00000032,0x00000033,0x00040018,0x00000035,
0x0000000c,0x00000004,0x0004002b,0x00000006,
0x00000036,0xba1cc553,0x0004002b,0x00000006,
0x00000037,0xbc1d15e5,0x0004002b,0x00000006,
0x00000038,0xbc74db63,0x0004002b,0x00000006,
0x00000039,0xbb2ce31b,0x0007002c,0x0000000c,
0x0000003a,0x00000036,0x00000037,0x00000038,
0x00000039,0x0004002b,0x00000006,0x0000003b,
0x3d035840,0x0004002b,0x00000006,0x0000003c,
0xbd90a183,0x0004002b,0x00000006,0x0000003d,
0xbbb32a9b,0x0004002b,0x00000006,0x0000003e,
0x3cb0384e,0x0007002c,0x0000000c,0x0000003f,
0x0000003b,0x0000003c,0x0000003d,0x0000003e,
0x0004002b,0x00000006,0x00000040,0xbb287fc0,
0x0004002b,0x00000006,0x00000041,0xb835b983,
0x0004002b,0x00000006,0x00000042,0x3b91cd12,
0x0004002b,0x00000006,0x00000043,0xbb643824,
0x0007002c,0x0000000c,0x00000044,0x00000040,
0x00000041,0x00000042,0x00000043,0x0004002b,
0x00000006,0x00000045,0xbba6a737,0x0004002b,
0x00000006,0x00000046,0x3c336d7f,0x0004002b,
0x00000006,0x00000047,0x3caaa0c1,0x0004002b,
0x00000006,0x00000048,0xbb52d257,0x0007002c,
0x0000000c,0x00000049,0x00000045,0x00000046,
0x00000047,0x00000048,0x0007002c,0x00000035,
0x0000004a,0x0000003a,0x0000003f,0x00000044,
0x00000049,0x0004003b,0x00000009,0x0000004b,
0x00000000,0x0004002b,0x00000006,0x00000053,
0xbc6e116c,0x0004002b,0x00000006,0x00000054,
0x3cca3dc7,0x0004002b,0x00000006,0x00000055,
0xbb7ae964,0x0004002b,0x00000006,0x00000056,
0xbb58daf4,0x0007002c,0x0000000c,0x00000057,
0x00000053,0x00000054,0x00000055,0x00000056,
0x0004002b,0x00000006,0x00000058,0xbdbc8fae,
0x0004002b,0x00000006,0x00000059,0xbd9d4401,
0x0004002b,0x00000006,0x0000005a,0x3a9e6024,
0x0004002b,0x00000006,0x0000005b,0xbd99e9f4,
0x0007002c,0x0000000c,0x0000005c,0x00000058,
0x00000059,0x0000005a,0x0000005b,0x0004002b,
0x00000006,0x0000005d,0x39089a90,0x0004002b,
0x00000006,0x0000005e,0xbc2f72c0,0x0004002b,
0x00000006,0x0000005f,0xba881a99,0x0004002b,
0x00000006,0x00000060,0xbbc333c8,0x0007002c,
0x0000000c,0x00000061,0x0000005d,0x0000005e,
0x0000005f,0x00000060,0x0004002b,0x00000006,
0x00000062,0x3da5d2d4,0x0004002b,0x00000006,
0x00000063,0x3d29ea73,0x0004002b,0x00000006,
0x00000064,0x3cbaba2a,0x0004002b,0x00000006,
0x00000065,0xbcad22c9,0x0007002c,0x0000000c,
0x00000066,0x00000062,0x00000063,0x00000064,
0x00000065,0x0007002c,0x00000035,0x00000067,
0x00000057,0x0000005c,0x00000061,0x00000066,
0x0004003b,0x00000009,0x00000068,0x00000000,
0x0004002b,0x00000006,0x0000006e,0x3c83e400,
0x0004002b,0x00000006,0x0000006f,0x3d152eca,
0x0004002b,0x00000006,0x00000070,0xbd1a7201,
0x0004002b,0x00000006,0x00000071,0xbd37f4c8,
0x0007002c,0x0000000c,0x00000072,0x0000006e,
0x0000006f,0x00000070,0x00000071,0x0004002b,
0x00000006,0x00000073,0xbd431e82,0x0004002b,
0x00000006,0x00000074,0x3e1bf078,0x0004002b,
0x00000006,0x00000075,0xbc5745b2,0x0004002b,
0x00000006,0x00000076,0xbd433ea9,0x0007002c,
0x0000000c,0x00000077,0x00000073,0x00000074,
0x00000075,0x00000076,0x0004002b,0x00000006,
0x00000078,0xbd1afcfa,0x0004002b,0x00000006,
0x00000079,0x3cc0e27b,0x0004002b,0x00000006,
0x0000007a,0x3cb781c4,0x0004002b,0x00000006,
0x0000007b,0xba87f2ea,0x0007002c,0x0000000c,
0x0000007c,0x00000078,0x00000079,0x0000007a,
0x0000007b,0x0004002b,0x00000006,0x0000007d,
0xbc12880c,0x0004002b,0x00000006,0x0000007e,
0xbcf00c18,0x0004002b,0x00000006,0x0000007f,
0x3ce09dff,0x0004002b,0x00000006,0x00000080,
0x3d4023ee,0x0007002c,0x0000000c,0x00000081,
0x0000007d,0x0000007e,0x0000007f,0x00000080,
0x0007002c,0x00000035,0x00000082,0x00000072,
0x00000077,0x0000007c,0x00000081,0x0004002b,
0x00000006,0x0000008a,0x3cf3c60a,0x0004002b,
0x00000006,0x0000008b,0xbc5919f7,0x0004002b,
0x00000006,0x0000008c,0xbb926a40,0x0004002b,
0x00000006,0x0000008d,0xbc1da6bf,0x0007002c,
0x0000000c,0x0000008e,0x0000008a,0x0000008b,
0x0000008c,0x0000008d,0x0004002b,0x00000006,
0x0000008f,0x3e8153b9,0x0004002b,0x00000006,
0x00000090,0x3e3fe150,0x0004002b,0x00000006,
0x00000091,0xbf0f591e,0x0004002b,0x00000006,
0x00000092,0xbe72e5ba,0x0007002c,0x0000000c,
0x00000093,0x0000008f,0x00000090,0x00000091,
0x00000092,0x0004002b,0x00000006,0x00000094,
0x3b59a079,0x0004002b,0x00000006,0x00000095,
0x3cd1db79,0x0004002b,0x00000006,0x00000096,
0x3cf15754,0x0004002b,0x00000006,0x00000097,
0x3d04b1c3,0x0007002c,0x0000000c,0x00000098,
0x00000094,0x00000095,0x00000096,0x00000097,
0x0004002b,0x00000006,0x00000099,0xbe2c05b0,
0x0004002b,0x00000006,0x0000009a,0xbe02f75f,
0x0004002b,0x00000006,0x0000009b,0x3ea235d1,
0x0004002b,0x00000006,0x0000009c,0x3e4a9964,
0x0007002c,0x0000000c,0x0000009d,0x00000099,
0x0000009a,0x0000009b,0x0000009c,0x0007002c,
0x00000035,0x0000009e,0x0000008e,0x00000093,
0x00000098,0x0000009d,0x0004002b,0x00000006,
0x000000a4,0xbb9bf1db,0x0004002b,0x00000006,
0x000000a5,0xbc74abe4,0x0004002b,0x00000006,
0x000000a6,0x3b5b3e32,0x0004002b,0x00000006,
0x000000a7,0xbaa08703,0x0007002c,0x0000000c,
0x000000a8,0x000000a4,0x000000a5,0x000000a6,
0x000000a7,0x0004002b,0x00000006,0x000000a9,
0x3de3d54c,0x0004002b,0x00000006,0x000000aa,
0x3c72173d,0x0004002b,0x00000006,0x000000ab,
0x3b4c6778,0x0004002b,0x00000006,0x000000ac,
0x3d206369,0x0007002c,0x0000000c,0x000000ad,
0x000000a9,0x000000aa,0x000000ab,0x000000ac,
0x0004002b,0x00000006,0x000000ae,0xbb388366,
0x0004002b,0x00000006,0x000000af,0xbb71b542,
0x0004002b,0x00000006,0x000000b0,0xbc3e1453,
0x0004002b,0x00000006,0x000000b1,0xbb763d98,
0x0007002c,0x0000000c,0x000000b2,0x000000ae,
0x000000af,0x000000b0,0x000000b1,0x0004002b,
0x00000006,0x000000b3,0x3b9bea2a,0x0004002b,
0x00000006,0x000000b4,0x3be8e326,0x0004002b,
0x00000006,0x000000b5,0xbb59b8b8,0x0004002b,
0x00000006,0x000000b6,0x39fff702,0x0007002c,
0x0000000c,0x000000b7,0x000000b3,0x000000b4,
0x000000b5,0x000000b6,0x0007002c,0x00000035,
0x000000b8,0x000000a8,0x000000ad,0x000000b2,
0x000000b7,0x0004002b,0x00000006,0x000000c0,
0xbb2521d2,0x0004002b,0x00000006,0x000000c1,
0xbaf4d059,0x0004002b,0x00000006,0x000000c2,
0x3b7ab3f4,0x0004002b,0x00000006,0x000000c3,
0x3b899072,0x0007002c,0x0000000c,0x000000c4,
0x000000c0,0x000000c1,0x000000c2,0x000000c3,
0x0004002b,0x00000006,0x000000c5,0xbe0748ad,
0x0004002b,0x00000006,0x000000c6,0xbd4a7dd8,
0x0004002b,0x00000006,0x000000c7,0x3d9bc836,
0x0004002b,0x00000006,0x000000c8,0xbe0dff40,
0x0007002c,0x0000000c,0x000000c9,0x000000c5,
0x000000c6,0x000000c7,0x000000c8,0x0004002b,
0x00000006,0x000000ca,0xbad4a253,0x0004002b,
0x00000006,0x000000cb,0xbbc4f42c,0x0004002b,
0x00000006,0x000000cc,0x3a85b832,0x0004002b,
0x00000006,0x000000cd,0x3c17f7ad,0x0007002c,
0x0000000c,0x000000ce,0x000000ca,0x000000cb,
0x000000cc,0x000000cd,0x0004002b,0x00000006,
0x000000cf,0xbc9f6db1,0x0004002b,0x00000006,
0x000000d0,0x3c0f2ac5,0x0004002b,0x00000006,
0x000000d1,0xbd788732,0x0004002b,0x00000006,
0x000000d2,0x3c7fdb31,0x0007002c,0x0000000c,
0x000000d3,0x000000cf,0x000000d0,0x000000d1,
0x000000d2,0x0007002c,0x00000035,0x000000d4,
0x000000c4,0x000000c9,0x000000ce,0x000000d3,
0x0004002b,0x00000006,0x000000da,0xbbf19306,
0x0004002b,0x00000006,0x000000db,0x3aa85a20,
0x0004002b,0x00000006,0x000000dc,0x3cc5c0ea,
0x0004002b,0x00000006,0x000000dd,0xbbf77d74,
0x0007002c,0x0000000c,0x000000de,0x000000da,
0x000000db,0x000000dc,0x000000dd,0x0004002b,
0x00000006,0x000000df,0xbdb13122,0x0004002b,
0x00000006,0x000000e0,0xbd7a11ea,0x0004002b,
0x00000006,0x000000e1,0x3ced02b3,0x0004002b,
0x00000006,0x000000e2,0xbdcba9ed,0x0007002c,
0x0000000c,0x000000e3,0x000000df,0x000000e0,
0x000000e1,0x000000e2,0x0004002b,0x00000006,
0x000000e4,0x3ce68fb7,0x0004002b,0x00000006,
0x000000e5,0xbccd470b,0x0004002b,0x00000006,
0x000000e6,0x3b9319d5,0x0004002b,0x00000006,
0x000000e7,0xbcc9b0fb,0x0007002c,0x0000000c,
0x000000e8,0x000000e4,0x000000e5,0x000000e6,
0x000000e7,0x0004002b,0x00000006,0x000000e9,
0x3c380129,0x0004002b,0x00000006,0x000000ea,
0xba8e247f,0x0004002b,0x00000006,0x000000eb,
0xbcb7292a,0x0004002b,0x00000006,0x000000ec,
0x3c9184e9,0x0007002c,0x0000000c,0x000000ed,
0x000000e9,0x000000ea,0x000000eb,0x000000ec,
0x0007002c,0x00000035,0x000000ee,0x000000de,
0x000000e3,0x000000e8,0x000000ed,0x0004002b,
0x00000006,0x000000f5,0xbd6ff83e,0x0004002b,
0x00000006,0x000000f6,0x3dc336a2,0x0004002b,
0x00000006,0x000000f7,0xbd63917b,0x0004002b,
0x00000006,0x000000f8,0x3dd3a98c,0x0007002c,
0x0000000c,0x000000f9,0x000000f5,0x000000f6,
0x000000f7,0x000000f8,0x0004002b,0x00000006,
0x000000fa,0x3e1fd576,0x0004002b,0x00000006,
0x000000fb,0xbd8d7ef1,0x0004002b,0x00000006,
0x000000fc,0xbd0bd549,0x0004002b,0x00000006,
0x000000fd,0xbd878276,0x0007002c,0x0000000c,
0x000000fe,0x000000fa,0x000000fb,0x000000fc,
0x000000fd,0x0004002b,0x00000006,0x000000ff,
0x3d598711,0x0004002b,0x00000006,0x00000100,
0xbcda0b0c,0x0004002b,0x00000006,0x00000101,
0xbca685f0,0x0004002b,0x00000006,0x00000102,
0x3ae8ca44,0x0007002c,0x0000000c,0x00000103,
0x000000ff,0x00000100,0x00000101,0x00000102,
0x0004002b,0x00000006,0x00000104,0xbe053250,
0x0004002b,0x00000006,0x00000105,0x3e396928,
0x0004002b,0x00000006,0x00000106,0x3d1c4d70,
0x0004002b,0x00000006,0x00000107,0x3e0f1882,
0x0007002c,0x0000000c,0x00000108,0x00000104,
0x00000105,0x00000106,0x00000107,0x0007002c,
0x00000035,0x00000109,0x000000f9,0x000000fe,
0x00000103,0x00000108,0x0004002b,0x00000006,
0x0000010f,0x3f204041,0x0004002b,0x00000006,
0x00000110,0x3f1b3353,0x0004002b,0x00000006,
0x00000111,0x3f0b87cd,0x0004002b,0x00000006,
0x00000112,0x3f18bc0f,0x0007002c,0x0000000c,
0x00000113,0x0000010f,0x00000110,0x00000111,
0x00000112,0x0004002b,0x00000006,0x00000114,
0xbd2da63f,0x0004002b,0x00000006,0x00000115,
0x3d9bc211,0x0004002b,0x00000006,0x00000116,
0xbc3a34e1,0x0004002b,0x00000006,0x00000117,
0x3e9a0011,0x0007002c,0x0000000c,0x00000118,
0x00000114,0x00000115,0x00000116,0x00000117,
0x0004002b,0x00000006,0x00000119,0xbea4c733,
0x0004002b,0x00000006,0x0000011a,0x3e8ae81f,
0x0004002b,0x00000006,0x0000011b,0xbea0f222,
0x0004002b,0x00000006,0x0000011c,0x3e6be9cc,
0x0007002c,0x0000000c,0x0000011d,0x00000119,
0x0000011a,0x0000011b,0x0000011c,0x0004002b,
0x00000006,0x0000011e,0x3eb2d81b,0x0004002b,
0x00000006,0x0000011f,0x3eb7d860,0x0004002b,
0x00000006,0x00000120,0x3ed3ddf4,0x0004002b,
0x00000006,0x00000121,0x3eada740,0x0007002c,
0x0000000c,0x00000122,0x0000011e,0x0000011f,
0x00000120,0x00000121,0x0007002c,0x00000035,
0x00000123,0x00000113,0x00000118,0x0000011d,
0x00000122,0x0004002b,0x00000006,0x0000012a,
0x3da1e3d4,0x0004002b,0x00000006,0x0000012b,
0xbdc87f83,0x0004002b,0x00000006,0x0000012c,
0x3d9fb656,0x0004002b,0x00000006,0x0000012d,
0xbda8b1f3,0x0007002c,0x0000000c,0x0000012e,
0x0000012a,0x0000012b,0x0000012c,0x0000012d,
0x0004002b,0x00000006,0x0000012f,0x3c1ac7a3,
0x0004002b,0x00000006,0x00000130,0x3e2b3034,
0x0004002b,0x00000006,0x00000131,0x3df612b0,
0x0004002b,0x00000006,0x00000132,0xbe4e77ce,
0x0007002c,0x0000000c,0x00000133,0x0000012f,
0x00000130,0x00000131,0x00000132,0x0004002b,
0x00000006,0x00000134,0x3ebbc7f2,0x0004002b,
0x00000006,0x00000135,0x3ebaf406,0x0004002b,
0x00000006,0x00000136,0xbeb8f3b7,0x0004002b,
0x00000006,0x00000137,0xbe987c59,0x0007002c,
0x0000000c,0x00000138,0x00000134,0x00000135,
0x00000136,0x00000137,0x0004002b,0x00000006,
0x00000139,0xbed8a928,0x0004002b,0x00000006,
0x0000013a,0x3c15c9c2,0x0004002b,0x00000006,
0x0000013b,0xbe447208,0x0004002b,0x00000006,
0x0000013c,0x3ed84c23,0x0007002c,0x0000000c,
0x0000013d,0x00000139,0x0000013a,0x0000013b,
0x0000013c,0x0007002c,0x00000035,0x0000013e,
0x0000012e,0x00000133,0x00000138,0x0000013d,
0x0004002b,0x00000006,0x00000144,0xbc98d55e,
0x0004002b,0x00000006,0x00000145,0x3ce13ec0,
0x0004002b,0x00000006,0x00000146,0xbbd30b17,
0x0004002b,0x00000006,0x00000147,0x3bba9ea4,
0x0007002c,0x0000000c,0x00000148,0x00000144,
0x00000145,0x00000146,0x00000147,0x0004002b,
0x00000006,0x00000149,0x3ef915c6,0x0004002b,
0x00000006,0x0000014a,0xbe833fcf,0x0004002b,
0x00000006,0x0000014b,0x3edf17cd,0x0004002b,
0x00000006,0x0000014c,0xbe986093,0x0007002c,
0x0000000c,0x0000014d,0x00000149,0x0000014a,
0x0000014b,0x0000014c,0x0004002b,0x00000006,
0x0000014e,0x3d1997c3,0x0004002b,0x00000006,
0x0000014f,0x3c896d34,0x0004002b,0x00000006,
0x00000150,0x3cfa831c,0x0004002b,0x00000006,
0x00000151,0x3cbebc09,0x0007002c,0x0000000c,
0x00000152,0x0000014e,0x0000014f,0x00000150,
0x00000151,0x0004002b,0x00000006,0x00000153,
0x3c62b613,0x0004002b,0x00000006,0x00000154,
0xbc9cb2f5,0x0004002b,0x00000006,0x00000155,
0x3b540ac6,0x0004002b,0x00000006,0x00000156,
0x3bb4699d,0x0007002c,0x0000000c,0x00000157,
0x00000153,0x00000154,0x00000155,0x00000156,
0x0007002c,0x00000035,0x00000158,0x00000148,
0x0000014d,0x00000152,0x00000157,0x0004002b,
0x00000006,0x0000015f,0xbce2640d,0x0004002b,
0x00000006,0x00000160,0x3b9dc723,0x0004002b,
0x00000006,0x00000161,0xbcce207b,0x0004002b,
0x00000006,0x00000162,0xbbbb963d,0x0007002c,
0x0000000c,0x00000163,0x0000015f,0x00000160,
0x00000161,0x00000162,0x0004002b,0x00000006,
0x00000164,0x3cde6437,0x0004002b,0x00000006,
0x00000165,0xbb8bd106,0x0004002b,0x00000006,
0x00000166,0xbd7395f3,0x0004002b,0x00000006,
0x00000167,0x3e6701c1,0x0007002c,0x0000000c,
0x00000168,0x00000164,0x00000165,0x00000166,
0x00000167,0x0004002b,0x00000006,0x00000169,
0xbca6d6a6,0x0004002b,0x00000006,0x0000016a,
0x3d93cb13,0x0004002b,0x00000006,0x0000016b,
0x3c60d6c3,0x0004002b,0x00000006,0x0000016c,
0xbd854feb,0x0007002c,0x0000000c,0x0000016d,
0x00000169,0x0000016a,0x0000016b,0x0000016c,
0x0004002b,0x00000006,0x0000016e,0xbe9c2329,
0x0004002b,0x00000006,0x0000016f,0x3e5072c5,
0x0004002b,0x00000006,0x00000170,0xbe807eed,
0x0004002b,0x00000006,0x00000171,0x3e48ff09,
0x0007002c,0x0000000c,0x00000172,0x0000016e,
0x0000016f,0x00000170,0x00000171,0x0007002c,
0x00000035,0x00000173,0x00000163,0x00000168,
0x0000016d,0x00000172,0x0004002b,0x00000006,
0x00000179,0x3c343146,0x0004002b,0x00000006,
0x0000017a,0xbbb022fe,0x0004002b,0x00000006,
0x0000017b,0xbc386702,0x0004002b,0x00000006,
0x0000017c,0x3b1d663a,0x0007002c,0x0000000c,
0x0000017d,0x00000179,0x0000017a,0x0000017b,
0x0000017c,0x0004002b,0x00000006,0x0000017e,
0x3d145173,0x0004002b,0x00000006,0x0000017f,
0x3c0a3235,0x0004002b,0x00000006,0x00000180,
0xbc2f4ae7,0x0004002b,0x00000006,0x00000181,
0xbcaa2ae1,0x0007002c,0x0000000c,0x00000182,
0x0000017e,0x0000017f,0x00000180,0x00000181,
0x0004002b,0x00000006,0x00000183,0xbac41953,
0x0004002b,0x00000006,0x00000184,0x3bdadc15,
0x0004002b,0x00000006,0x00000185,0x3b383e16,
0x0004002b,0x00000006,0x00000186,0x3b23fbf8,
0x0007002c,0x0000000c,0x00000187,0x00000183,
0x00000184,0x00000185,0x00000186,0x0004002b,
0x00000006,0x00000188,0xbc19e80b,0x0004002b,
0x00000006,0x00000189,0x3ad73cf9,0x0004002b,
0x00000006,0x0000018a,0x3b67c027,0x0004002b,
0x00000006,0x0000018b,0xbbbe43dc,0x0007002c,
0x0000000c,0x0000018c,0x00000188,0x00000189,
0x0000018a,0x0000018b,0x0007002c,0x00000035,
0x0000018d,0x0000017d,0x00000182,0x00000187,
0x0000018c,0x0004002b,0x00000006,0x00000194,
0x3c638eaf,0x0004002b,0x00000006,0x00000195,
0xbc005bbb,0x0004002b,0x00000006,0x00000196,
0x3bc96885,0x0004002b,0x00000006,0x00000197,
0x3ca595e0,0x0007002c,0x0000000c,0x00000198,
0x00000194,0x00000195,0x00000196,0x00000197,
0x0004002b,0x00000006,0x00000199,0xbcd304b7,
0x0004002b,0x00000006,0x0000019a,0xbd162d01,
0x0004002b,0x00000006,0x0000019b,0x3ccce144,
0x0004002b,0x00000006,0x0000019c,0xbd4c0290,
0x0007002c,0x0000000c,0x0000019d,0x00000199,
0x0000019a,0x0000019b,0x0000019c,0x0004002b,
0x00000006,0x0000019e,0xbc28fffa,0x0004002b,
0x00000006,0x0000019f,0xb93b5a5d,0x0004002b,
0x00000006,0x000001a0,0xbc23b137,0x0004002b,
0x00000006,0x000001a1,0x3bcd906e,0x0007002c,
0x0000000c,0x000001a2,0x0000019e,0x0000019f,
0x000001a0,0x000001a1,0x0004002b,0x00000006,
0x000001a3,0x3c5758d4,0x0004002b,0x00000006,
0x000001a4,0xba0f63a6,0x0004002b,0x00000006,
0x000001a5,0xbd1f464e,0x0004002b,0x00000006,
0x000001a6,0x3d7ab445,0x0007002c,0x0000000c,
0x000001a7,0x000001a3,0x000001a4,0x000001a5,
0x000001a6,0x0007002c,0x00000035,0x000001a8,
0x00000198,0x0000019d,0x000001a2,0x000001a7,
0x0004002b,0x00000006,0x000001ae,0x3bad0f4e,
0x0004002b,0x00000006,0x000001af,0x3cb0bdce,
0x0004002b,0x00000006,0x000001b0,0x3c2ff4d2,
0x0004002b,0x00000006,0x000001b1,0xbc022739,
0x0007002c,0x0000000c,0x000001b2,0x000001ae,
0x000001af,0x000001b0,0x000001b1,0x0004002b,
0x00000006,0x000001b3,0x3d1cca1a,0x0004002b,
0x00000006,0x000001b4,0x3d8ed51e,0x0004002b,
0x00000006,0x000001b5,0xbd2a60cb,0x0004002b,
0x00000006,0x000001b6,0x3d86ba79,0x0007002c,
0x0000000c,0x000001b7,0x000001b3,0x000001b4,
0x000001b5,0x000001b6,0x0004002b,0x00000006,
0x000001b8,0x3cab990d,0x0004002b,0x00000006,
0x000001b9,0xbcb2e99c,0x0004002b,0x00000006,
0x000001ba,0xbd373d0b,0x0004002b,0x00000006,
0x000001bb,0x3d26d68d,0x0007002c,0x0000000c,
0x000001bc,0x000001b8,0x000001b9,0x000001ba,
0x000001bb,0x0004002b,0x00000006,0x000001bd,
0xbb8607a8,0x0004002b,0x00000006,0x000001be,
0xbca0a68c,0x0004002b,0x00000006,0x000001bf,
0xbaf330fb,0x0004002b,0x00000006,0x000001c0,
0x3ca70a33,0x0007002c,0x0000000c,0x000001c1,
0x000001bd,0x000001be,0x000001bf,0x000001c0,
0x0007002c,0x00000035,0x000001c2,0x000001b2,
0x000001b7,0x000001bc,0x000001c1,0x0004002b,
0x00000006,0x000001c9,0xbc2df7f4,0x0004002b,
0x00000006,0x000001ca,0x3c09a80c,0x0004002b,
0x00000006,0x000001cb,0x3c572bb1,0x0004002b,
0x00000006,0x000001cc,0xbca2d1e5,0x0007002c,
0x0000000c,0x000001cd,0x000001c9,0x000001ca,
0x000001cb,0x000001cc,0x0004002b,0x00000006,
0x000001ce,0x3de4cc41,0x0004002b,0x00000006,
0x000001cf,0x3dcaecdf,0x0004002b,0x00000006,
0x000001d0,0xbd95f9d3,0x0004002b,0x00000006,
0x000001d1,0x3c860193,0x0007002c,0x0000000c,
0x000001d2,0x000001ce,0x000001cf,0x000001d0,
0x000001d1,0x0004002b,0x00000006,0x000001d3,
0xbd84e165,0x0004002b,0x00000006,0x000001d4,
0xbd38fb16,0x0004002b,0x00000006,0x000001d5,
0x3ca97273,0x0004002b,0x00000006,0x000001d6,
0x3b4e0de5,0x0007002c,0x0000000c,0x000001d7,
0x000001d3,0x000001d4,0x000001d5,0x000001d6,
0x0004002b,0x00000006,0x000001d8,0xbc2def71,
0x0004002b,0x00000006,0x000001d9,0xbd688694,
0x0004002b,0x00000006,0x000001da,0x3da05478,
0x0004002b,0x00000006,0x000001db,0xbcfac093,
0x0007002c,0x0000000c,0x000001dc,0x000001d8,
0x000001d9,0x000001da,0x000001db,0x0007002c,
0x00000035,0x000001dd,0x000001cd,0x000001d2,
0x000001d7,0x000001dc,0x0004002b,0x00000006,
0x000001e3,0x3aa33641,0x0004002b,0x00000006,
0x000001e4,0xbb2ac424,0x0004002b,0x00000006,
0x000001e5,0xbc1da885,0x0004002b,0x00000006,
0x000001e6,0xbb780f55,0x0007002c,0x0000000c,
0x000001e7,0x000001e3,0x000001e4,0x000001e5,
0x000001e6,0x0004002b,0x00000006,0x000001e8,
0xbc9c70b1,0x0004002b,0x00000006,0x000001e9,
0x3d5ae124,0x0004002b,0x00000006,0x000001ea,
0x3e23c649,0x0004002b,0x00000006,0x000001eb,
0x3daaf0cc,0x0007002c,0x0000000c,0x000001ec,
0x000001e8,0x000001e9,0x000001ea,0x000001eb,
0x0004002b,0x00000006,0x000001ed,0xbbe63650,
0x0004002b,0x00000006,0x000001ee,0x3aa8baa7,
0x0004002b,0x00000006,0x000001ef,0x3b4a5aa1,
0x0004002b,0x00000006,0x000001f0,0xbc19df9a,
0x0007002c,0x0000000c,0x000001f1,0x000001ed,
0x000001ee,0x000001ef,0x000001f0,0x0004002b,
0x00000006,0x000001f2,0xbb5bbd5c,0x0004002b,
0x00000006,0x000001f3,0x3b8e7df7,0x0004002b,
0x00000006,0x000001f4,0x3c11dfdb,0x0004002b,
0x00000006,0x000001f5,0xbbdd261f,0x0007002c,
0x0000000c,0x000001f6,0x000001f2,0x000001f3,
0x000001f4,0x000001f5,0x0007002c,0x00000035,
0x000001f7,0x000001e7,0x000001ec,0x000001f1,
0x000001f6,0x0004002b,0x00000006,0x000001fe,
0x39f7219a,0x0004002b,0x00000006,0x000001ff,
0xbb5fe148,0x0004002b,0x00000006,0x00000200,
0xbb306223,0x0004002b,0x00000006,0x00000201,
0x3baf61ff,0x0007002c,0x0000000c,0x00000202,
0x000001fe,0x000001ff,0x00000200,0x00000201,
0x0004002b,0x00000006,0x00000203,0xbb86443e,
0x0004002b,0x00000006,0x00000204,0x3cdfe996,
0x0004002b,0x00000006,0x00000205,0xbd087413,
0x0004002b,0x00000006,0x00000206,0xbd8f9d05,
0x0007002c,0x0000000c,0x00000207,0x00000203,
0x00000204,0x00000205,0x00000206,0x0004002b,
0x00000006,0x00000208,0x3c07fbad,0x0004002b,
0x00000006,0x00000209,0xbc967394,0x0004002b,
0x00000006,0x0000020a,0xbc49437e,0x0004002b,
0x00000006,0x0000020b,0xbbad3281,0x0007002c,
0x0000000c,0x0000020c,0x00000208,0x00000209,
0x0000020a,0x0000020b,0x0004002b,0x00000006,
0x0000020d,0xbb1bf166,0x0004002b,0x00000006,
0x0000020e,0xbd33a5d2,0x0004002b,0x00000006,
0x0000020f,0xbde19702,0x0004002b,0x00000006,
0x00000210,0xbc958d91,0x0007002c,0x0000000c,
0x00000211,0x0000020d,0x0000020e,0x0000020f,
0x00000210,0x0007002c,0x00000035,0x00000212,
0x00000202,0x00000207,0x0000020c,0x00000211,
0x00040015,0x0000021b,0x00000020,0x00000000,
0x00040017,0x0000021c,0x0000021b,0x00000003,
0x00040020,0x0000021d,0x00000001,0x0000021c,
0x0004003b,0x0000021d,0x0000021e,0x00000001,
0x00040017,0x0000021f,0x0000021b,0x00000002,
0x00020014,0x00000223,0x0004002b,0x0000021b,
0x00000224,0x00000000,0x00040020,0x00000228,
0x00000009,0x00000016,0x0004002b,0x0000021b,
0x0000022f,0x00000001,0x00090019,0x00000239,
0x00000006,0x00000001,0x00000000,0x00000000,
0x00000000,0x00000002,0x00000002,0x00040020,
0x0000023a,0x00000000,0x00000239,0x0004003b,
0x0000023a,0x0000023b,0x00000000,0x0004002b,
0x0000021b,0x0000023f,0x00000010,0x0006002c,
0x0000021c,0x00000240,0x0000023f,0x0000023f,
0x0000022f,0x0004002b,0x00000016,0x000003a6,
0xffffffff,0x0005002c,0x00000017,0x000003a7,
0x000003a6,0x000003a6,0x0005002c,0x00000017,
0x000003a8,0x00000026,0x00000026,0x0005002c,
0x00000017,0x000003a9,0x000003a6,0x0000001e,
0x0005002c,0x00000017,0x000003aa,0x000003a6,
0x00000026,0x0005002c,0x00000017,0x000003ab,
0x0000001e,0x000003a6,0x0005002c,0x00000017,
0x000003ac,0x0000001e,0x00000026,0x0005002c,
0x00000017,0x000003ad,0x00000026,0x000003a6,
0x0005002c,0x00000017,0x000003ae,0x00000026,
0x0000001e,0x00050036,0x00000002,0x00000004,
0x00000000,0x00000003,0x000200f8,0x00000005,
0x000300f7,0x00000242,0x00000000,0x000300fb,
0x00000224,0x00000243,0x000200f8,0x00000243,
0x0004003d,0x0000021c,0x00000220,0x0000021e,
0x0007004f,0x0000021f,0x00000221,0x00000220,
0x00000220,0x00000000,0x00000001,0x0004007c,
0x00000017,0x00000222,0x00000221,0x00050051,
0x00000016,0x00000227,0x00000222,0x00000000,
0x00060041,0x00000228,0x00000229,0x00000022,
0x0000001e,0x00000224,0x0004003d,0x00000016,
0x0000022a,0x00000229,0x000500af,0x00000223,
0x0000022b,0x00000227,0x0000022a,0x000400a8,
0x00000223,0x0000022c,0x0000022b,0x000300f7,
0x0000022e,0x00000000,0x000400fa,0x0000022c,
0x0000022d,0x0000022e,0x000200f8,0x0000022d,
0x00050051,0x00000016,0x00000231,0x00000222,
0x00000001,0x00060041,0x00000228,0x00000232,
0x00000022,0x0000001e,0x0000022f,0x0004003d,
0x00000016,0x00000233,0x00000232,0x000500af,
0x00000223,0x00000234,0x00000231,0x00000233,
0x000200f9,0x0000022e,0x000200f8,0x0000022e,
0x000700f5,0x00000223,0x00000235,0x0000022b,
0x00000243,0x00000234,0x0000022d,0x000300f7,
0x00000237,0x00000000,0x000400fa,0x00000235,
0x00000236,0x00000237,0x000200f8,0x00000236,
0x000200f9,0x00000242,0x000200f8,0x00000237,
0x0004003d,0x00000239,0x0000023c,0x0000023b,
0x0004003d,0x00000008,0x000002a8,0x0000004b,
0x00050080,0x00000017,0x000002ac,0x00000222,
0x000003a7,0x00050041,0x00000023,0x000002ad,
0x00000022,0x0000001e,0x0004003d,0x00000017,
0x000002ae,0x000002ad,0x00050082,0x00000017,
0x000002b0,0x000002ae,0x000003a8,0x0008000c,
0x00000017,0x000002b1,0x00000001,0x0000002d,
0x000002ac,0x0000001f,0x000002b0,0x00040064,
0x00000007,0x000002b2,0x000002a8,0x0007005f,
0x0000000c,0x000002b3,0x000002b2,0x000002b1,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000025e,0x0000004a,0x000002b3,0x00050081,
0x0000000c,0x00000260,0x00000034,0x0000025e,
0x0004003d,0x00000008,0x000002b6,0x00000068,
0x00040064,0x00000007,0x000002c0,0x000002b6,
0x0007005f,0x0000000c,0x000002c1,0x000002c0,
0x000002b1,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000262,0x00000067,0x000002c1,
0x00050081,0x0000000c,0x00000264,0x00000260,
0x00000262,0x0004003d,0x00000008,0x000002c4,
0x0000004b,0x00050080,0x00000017,0x000002c8,
0x00000222,0x000003a9,0x0008000c,0x00000017,
0x000002cd,0x00000001,0x0000002d,0x000002c8,
0x0000001f,0x000002b0,0x00040064,0x00000007,
0x000002ce,0x000002c4,0x0007005f,0x0000000c,
0x000002cf,0x000002ce,0x000002cd,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x00000266,
0x00000082,0x000002cf,0x00050081,0x0000000c,
0x00000268,0x00000264,0x00000266,0x0004003d,
0x00000008,0x000002d2,0x00000068,0x00040064,
0x00000007,0x000002dc,0x000002d2,0x0007005f,
0x0000000c,0x000002dd,0x000002dc,0x000002cd,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x0000026a,0x0000009e,0x000002dd,0x00050081,
0x0000000c,0x0000026c,0x00000268,0x0000026a,
0x0004003d,0x00000008,0x000002e0,0x0000004b,
0x00050080,0x00000017,0x000002e4,0x00000222,
0x000003aa,0x0008000c,0x00000017,0x000002e9,
0x00000001,0x0000002d,0x000002e4,0x0000001f,
0x000002b0,0x00040064,0x00000007,0x000002ea,
0x000002e0,0x0007005f,0x0000000c,0x000002eb,
0x000002ea,0x000002e9,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000026e,0x000000b8,
0x000002eb,0x00050081,0x0000000c,0x00000270,
0x0000026c,0x0000026e,0x0004003d,0x00000008,
0x000002ee,0x00000068,0x00040064,0x00000007,
0x000002f8,0x000002ee,0x0007005f,0x0000000c,
0x000002f9,0x000002f8,0x000002e9,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x00000272,
0x000000d4,0x000002f9,0x00050081,0x0000000c,
0x00000274,0x00000270,0x00000272,0x0004003d,
0x00000008,0x000002fc,0x0000004b,0x00050080,
0x00000017,0x00000300,0x00000222,0x000003ab,
0x0008000c,0x00000017,0x00000305,0x00000001,
0x0000002d,0x00000300,0x0000001f,0x000002b0,
0x00040064,0x00000007,0x00000306,0x000002fc,
0x0007005f,0x0000000c,0x00000307,0x00000306,
0x00000305,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x00000276,0x000000ee,0x00000307,
0x00050081,0x0000000c,0x00000278,0x00000274,
0x00000276,0x0004003d,0x00000008,0x0000030a,
0x00000068,0x00040064,0x00000007,0x00000314,
0x0000030a,0x0007005f,0x0000000c,0x00000315,
0x00000314,0x00000305,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x0000027a,0x00000109,
0x00000315,0x00050081,0x0000000c,0x0000027c,
0x00000278,0x0000027a,0x0004003d,0x00000008,
0x00000318,0x0000004b,0x0008000c,0x00000017,
0x00000321,0x00000001,0x0000002d,0x00000222,
0x0000001f,0x000002b0,0x00040064,0x00000007,
0x00000322,0x00000318,0x0007005f,0x0000000c,
0x00000323,0x00000322,0x00000321,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000027e,
0x00000123,0x00000323,0x00050081,0x0000000c,
0x00000280,0x0000027c,0x0000027e,0x0004003d,
0x00000008,0x00000326,0x00000068,0x00040064,
0x00000007,0x00000330,0x00000326,0x0007005f,
0x0000000c,0x00000331,0x00000330,0x00000321,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000282,0x0000013e,0x00000331,0x00050081,
0x0000000c,0x00000284,0x00000280,0x00000282,
0x0004003d,0x00000008,0x00000334,0x0000004b,
0x00050080,0x00000017,0x00000338,0x00000222,
0x000003ac,0x0008000c,0x00000017,0x0000033d,
0x00000001,0x0000002d,0x00000338,0x0000001f,
0x000002b0,0x00040064,0x00000007,0x0000033e,
0x00000334,0x0007005f,0x0000000c,0x0000033f,
0x0000033e,0x0000033d,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x00000286,0x00000158,
0x0000033f,0x00050081,0x0000000c,0x00000288,
0x00000284,0x00000286,0x0004003d,0x00000008,
0x00000342,0x00000068,0x00040064,0x00000007,
0x0000034c,0x00000342,0x0007005f,0x0000000c,
0x0000034d,0x0000034c,0x0000033d,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000028a,
0x00000173,0x0000034d,0x00050081,0x0000000c,
0x0000028c,0x00000288,0x0000028a,0x0004003d,
0x00000008,0x00000350,0x0000004b,0x00050080,
0x00000017,0x00000354,0x00000222,0x000003ad,
0x0008000c,0x00000017,0x00000359,0x00000001,
0x0000002d,0x00000354,0x0000001f,0x000002b0,
0x00040064,0x00000007,0x0000035a,0x00000350,
0x0007005f,0x0000000c,0x0000035b,0x0000035a,
0x00000359,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000028e,0x0000018d,0x0000035b,
0x00050081,0x0000000c,0x00000290,0x0000028c,
0x0000028e,0x0004003d,0x00000008,0x0000035e,
0x00000068,0x00040064,0x00000007,0x00000368,
0x0000035e,0x0007005f,0x0000000c,0x00000369,
0x00000368,0x00000359,0x00000002,0x0000001e,
0x00050091,0x0000000c,0x00000292,0x000001a8,
0x00000369,0x00050081,0x0000000c,0x00000294,
0x00000290,0x00000292,0x0004003d,0x00000008,
0x0000036c,0x0000004b,0x00050080,0x00000017,
0x00000370,0x00000222,0x000003ae,0x0008000c,
0x00000017,0x00000375,0x00000001,0x0000002d,
0x00000370,0x0000001f,0x000002b0,0x00040064,
0x00000007,0x00000376,0x0000036c,0x0007005f,
0x0000000c,0x00000377,0x00000376,0x00000375,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x00000296,0x000001c2,0x00000377,0x00050081,
0x0000000c,0x00000298,0x00000294,0x00000296,
0x0004003d,0x00000008,0x0000037a,0x00000068,
0x00040064,0x00000007,0x00000384,0x0000037a,
0x0007005f,0x0000000c,0x00000385,0x00000384,
0x00000375,0x00000002,0x0000001e,0x00050091,
0x0000000c,0x0000029a,0x000001dd,0x00000385,
0x00050081,0x0000000c,0x0000029c,0x00000298,
0x0000029a,0x0004003d,0x00000008,0x00000388,
0x0000004b,0x00050080,0x00000017,0x0000038c,
0x00000222,0x000003a8,0x0008000c,0x00000017,
0x00000391,0x00000001,0x0000002d,0x0000038c,
0x0000001f,0x000002b0,0x00040064,0x00000007,
0x00000392,0x00000388,0x0007005f,0x0000000c,
0x00000393,0x00000392,0x00000391,0x00000002,
0x0000001e,0x00050091,0x0000000c,0x0000029e,
0x000001f7,0x00000393,0x00050081,0x0000000c,
0x000002a0,0x0000029c,0x0000029e,0x0004003d,
0x00000008,0x00000396,0x00000068,0x00040064,
0x00000007,0x000003a0,0x00000396,0x0007005f,
0x0000000c,0x000003a1,0x000003a0,0x00000391,
0x00000002,0x0000001e,0x00050091,0x0000000c,
0x000002a2,0x00000212,0x000003a1,0x00050081,
0x0000000c,0x000002a4,0x000002a0,0x000002a2,
0x00040063,0x0000023c,0x00000222,0x000002a4,
0x000200f9,0x00000242,0x000200f8,0x00000242,
0x000100fd,0x00010038}
+55
View File
@@ -0,0 +1,55 @@
// Generated by tools/gen_fsrcnnx.js: the FSRCNNX layers, in order. Do not edit.
static const uint32_t kFsrcnnx_pass_01[] =
#include "shaders/fsrcnnx/pass_01.spv.inc"
;
static const uint32_t kFsrcnnx_pass_02[] =
#include "shaders/fsrcnnx/pass_02.spv.inc"
;
static const uint32_t kFsrcnnx_pass_03[] =
#include "shaders/fsrcnnx/pass_03.spv.inc"
;
static const uint32_t kFsrcnnx_pass_04[] =
#include "shaders/fsrcnnx/pass_04.spv.inc"
;
static const uint32_t kFsrcnnx_pass_05[] =
#include "shaders/fsrcnnx/pass_05.spv.inc"
;
static const uint32_t kFsrcnnx_pass_06[] =
#include "shaders/fsrcnnx/pass_06.spv.inc"
;
static const uint32_t kFsrcnnx_pass_07[] =
#include "shaders/fsrcnnx/pass_07.spv.inc"
;
static const uint32_t kFsrcnnx_pass_08[] =
#include "shaders/fsrcnnx/pass_08.spv.inc"
;
static const uint32_t kFsrcnnx_pass_09[] =
#include "shaders/fsrcnnx/pass_09.spv.inc"
;
static const uint32_t kFsrcnnx_pass_10[] =
#include "shaders/fsrcnnx/pass_10.spv.inc"
;
static const uint32_t kFsrcnnx_pass_11[] =
#include "shaders/fsrcnnx/pass_11.spv.inc"
;
static const uint32_t kFsrcnnx_pass_12[] =
#include "shaders/fsrcnnx/pass_12.spv.inc"
;
static const uint32_t kFsrcnnx_pass_13[] =
#include "shaders/fsrcnnx/pass_13.spv.inc"
;
static const FsrcnnxLayer kFsrcnnxLayers[] = {
{"feature map 1", kFsrcnnx_pass_01, sizeof(kFsrcnnx_pass_01), "FEATURE1", {"LUMA", nullptr, nullptr}},
{"feature map 2", kFsrcnnx_pass_02, sizeof(kFsrcnnx_pass_02), "FEATURE2", {"LUMA", nullptr, nullptr}},
{"mapping 1_1", kFsrcnnx_pass_03, sizeof(kFsrcnnx_pass_03), "MODEL21", {"FEATURE1", "FEATURE2", nullptr}},
{"mapping 1_2", kFsrcnnx_pass_04, sizeof(kFsrcnnx_pass_04), "MODEL22", {"FEATURE1", "FEATURE2", nullptr}},
{"mapping 2_1", kFsrcnnx_pass_05, sizeof(kFsrcnnx_pass_05), "MODEL1", {"MODEL21", "MODEL22", nullptr}},
{"mapping 2_2", kFsrcnnx_pass_06, sizeof(kFsrcnnx_pass_06), "MODEL2", {"MODEL21", "MODEL22", nullptr}},
{"mapping 3_1", kFsrcnnx_pass_07, sizeof(kFsrcnnx_pass_07), "MODEL21", {"MODEL1", "MODEL2", nullptr}},
{"mapping 3_2", kFsrcnnx_pass_08, sizeof(kFsrcnnx_pass_08), "MODEL22", {"MODEL1", "MODEL2", nullptr}},
{"mapping 4_1", kFsrcnnx_pass_09, sizeof(kFsrcnnx_pass_09), "MODEL1", {"MODEL21", "MODEL22", nullptr}},
{"mapping 4_2", kFsrcnnx_pass_10, sizeof(kFsrcnnx_pass_10), "MODEL2", {"MODEL21", "MODEL22", nullptr}},
{"sub-band residuals 1", kFsrcnnx_pass_11, sizeof(kFsrcnnx_pass_11), "RES1", {"MODEL1", "MODEL2", "FEATURE1"}},
{"sub-band residuals 2", kFsrcnnx_pass_12, sizeof(kFsrcnnx_pass_12), "RES2", {"MODEL1", "MODEL2", "FEATURE2"}},
{"sub-pixel convolution 1", kFsrcnnx_pass_13, sizeof(kFsrcnnx_pass_13), "SUBCONV1", {"RES1", "RES2", nullptr}},
};
+17
View File
@@ -0,0 +1,17 @@
#version 450
// AI upscaler, input: the picture's luma for the FSRCNNX network (fsrcnnx/),
// which works on brightness only.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D src; // the cleaned-up picture, stream size
layout(push_constant) uniform Params { ivec2 size; } p;
void main()
{
ivec2 at = ivec2(gl_GlobalInvocationID.xy);
if (at.x >= p.size.x || at.y >= p.size.y) return;
vec3 c = texelFetch(src, at, 0).rgb;
imageStore(dst, at, vec4(dot(c, vec3(0.2126, 0.7152, 0.0722)), 0.0, 0.0, 1.0));
}
+92
View File
@@ -0,0 +1,92 @@
{0x07230203,0x00010000,0x000d000b,0x0000004c,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000000d,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00040047,0x0000000d,0x0000000b,0x0000001c,
0x00030047,0x00000017,0x00000002,0x00050048,
0x00000017,0x00000000,0x00000023,0x00000000,
0x00040047,0x00000033,0x00000021,0x00000001,
0x00040047,0x00000033,0x00000022,0x00000000,
0x00030047,0x0000003c,0x00000019,0x00040047,
0x0000003c,0x00000021,0x00000000,0x00040047,
0x0000003c,0x00000022,0x00000000,0x00040047,
0x00000049,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00040015,0x00000006,0x00000020,0x00000001,
0x00040017,0x00000007,0x00000006,0x00000002,
0x00040015,0x0000000a,0x00000020,0x00000000,
0x00040017,0x0000000b,0x0000000a,0x00000003,
0x00040020,0x0000000c,0x00000001,0x0000000b,
0x0004003b,0x0000000c,0x0000000d,0x00000001,
0x00040017,0x0000000e,0x0000000a,0x00000002,
0x00020014,0x00000012,0x0004002b,0x0000000a,
0x00000013,0x00000000,0x0003001e,0x00000017,
0x00000007,0x00040020,0x00000018,0x00000009,
0x00000017,0x0004003b,0x00000018,0x00000019,
0x00000009,0x0004002b,0x00000006,0x0000001a,
0x00000000,0x00040020,0x0000001b,0x00000009,
0x00000006,0x0004002b,0x0000000a,0x00000022,
0x00000001,0x00030016,0x0000002c,0x00000020,
0x00040017,0x0000002d,0x0000002c,0x00000003,
0x00090019,0x00000030,0x0000002c,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000001,
0x00000000,0x0003001b,0x00000031,0x00000030,
0x00040020,0x00000032,0x00000000,0x00000031,
0x0004003b,0x00000032,0x00000033,0x00000000,
0x00040017,0x00000037,0x0000002c,0x00000004,
0x00090019,0x0000003a,0x0000002c,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000002,
0x00000002,0x00040020,0x0000003b,0x00000000,
0x0000003a,0x0004003b,0x0000003b,0x0000003c,
0x00000000,0x0004002b,0x0000002c,0x00000040,
0x3e59b3d0,0x0004002b,0x0000002c,0x00000041,
0x3f371759,0x0004002b,0x0000002c,0x00000042,
0x3d93dd98,0x0006002c,0x0000002d,0x00000043,
0x00000040,0x00000041,0x00000042,0x0004002b,
0x0000002c,0x00000045,0x00000000,0x0004002b,
0x0000002c,0x00000046,0x3f800000,0x0004002b,
0x0000000a,0x00000048,0x00000010,0x0006002c,
0x0000000b,0x00000049,0x00000048,0x00000048,
0x00000022,0x00050036,0x00000002,0x00000004,
0x00000000,0x00000003,0x000200f8,0x00000005,
0x000300f7,0x0000004a,0x00000000,0x000300fb,
0x00000013,0x0000004b,0x000200f8,0x0000004b,
0x0004003d,0x0000000b,0x0000000f,0x0000000d,
0x0007004f,0x0000000e,0x00000010,0x0000000f,
0x0000000f,0x00000000,0x00000001,0x0004007c,
0x00000007,0x00000011,0x00000010,0x00050051,
0x00000006,0x00000016,0x00000011,0x00000000,
0x00060041,0x0000001b,0x0000001c,0x00000019,
0x0000001a,0x00000013,0x0004003d,0x00000006,
0x0000001d,0x0000001c,0x000500af,0x00000012,
0x0000001e,0x00000016,0x0000001d,0x000400a8,
0x00000012,0x0000001f,0x0000001e,0x000300f7,
0x00000021,0x00000000,0x000400fa,0x0000001f,
0x00000020,0x00000021,0x000200f8,0x00000020,
0x00050051,0x00000006,0x00000024,0x00000011,
0x00000001,0x00060041,0x0000001b,0x00000025,
0x00000019,0x0000001a,0x00000022,0x0004003d,
0x00000006,0x00000026,0x00000025,0x000500af,
0x00000012,0x00000027,0x00000024,0x00000026,
0x000200f9,0x00000021,0x000200f8,0x00000021,
0x000700f5,0x00000012,0x00000028,0x0000001e,
0x0000004b,0x00000027,0x00000020,0x000300f7,
0x0000002a,0x00000000,0x000400fa,0x00000028,
0x00000029,0x0000002a,0x000200f8,0x00000029,
0x000200f9,0x0000004a,0x000200f8,0x0000002a,
0x0004003d,0x00000031,0x00000034,0x00000033,
0x00040064,0x00000030,0x00000036,0x00000034,
0x0007005f,0x00000037,0x00000038,0x00000036,
0x00000011,0x00000002,0x0000001a,0x0008004f,
0x0000002d,0x00000039,0x00000038,0x00000038,
0x00000000,0x00000001,0x00000002,0x0004003d,
0x0000003a,0x0000003d,0x0000003c,0x00050094,
0x0000002c,0x00000044,0x00000039,0x00000043,
0x00070050,0x00000037,0x00000047,0x00000044,
0x00000045,0x00000045,0x00000046,0x00040063,
0x0000003d,0x00000011,0x00000047,0x000200f9,
0x0000004a,0x000200f8,0x0000004a,0x000100fd,
0x00010038}
+26
View File
@@ -0,0 +1,26 @@
#version 450
// AI upscaler, output at twice the stream's size. The network's last layer
// gives four luma values per source pixel (one per 2x2 output pixel, mpv's
// "aggregation" step); the colour comes from a bilinear 2x of the picture,
// whose luma is replaced by the network's.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba8) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D subconv; // FSRCNNX SUBCONV1, stream size
layout(binding = 2) uniform sampler2D colour; // the cleaned-up picture, stream size, linear
layout(push_constant) uniform Params { ivec2 src_size; } p;
void main()
{
ivec2 at = ivec2(gl_GlobalInvocationID.xy);
ivec2 size = p.src_size * 2;
if (at.x >= size.x || at.y >= size.y) return;
ivec2 idx = at & 1;
vec4 s = texelFetch(subconv, at >> 1, 0);
float y_net = s[idx.x * 2 + idx.y];
vec3 rgb = textureLod(colour, (vec2(at) + 0.5) / vec2(size), 0.0).rgb;
const vec3 k = vec3(0.2126, 0.7152, 0.0722);
rgb += y_net - dot(rgb, k);
imageStore(dst, at, vec4(clamp(rgb, 0.0, 1.0), 1.0));
}
+137
View File
@@ -0,0 +1,137 @@
{0x07230203,0x00010000,0x000d000b,0x0000008c,
0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,
0x00000000,0x0003000e,0x00000000,0x00000001,
0x0006000f,0x00000005,0x00000004,0x6e69616d,
0x00000000,0x0000000d,0x00060010,0x00000004,
0x00000011,0x00000010,0x00000010,0x00000001,
0x00040047,0x0000000d,0x0000000b,0x0000001c,
0x00030047,0x00000013,0x00000002,0x00050048,
0x00000013,0x00000000,0x00000023,0x00000000,
0x00040047,0x0000003e,0x00000021,0x00000001,
0x00040047,0x0000003e,0x00000022,0x00000000,
0x00040047,0x00000052,0x00000021,0x00000002,
0x00040047,0x00000052,0x00000022,0x00000000,
0x00030047,0x0000006d,0x00000019,0x00040047,
0x0000006d,0x00000021,0x00000000,0x00040047,
0x0000006d,0x00000022,0x00000000,0x00040047,
0x0000007a,0x0000000b,0x00000019,0x00020013,
0x00000002,0x00030021,0x00000003,0x00000002,
0x00040015,0x00000006,0x00000020,0x00000001,
0x00040017,0x00000007,0x00000006,0x00000002,
0x00040015,0x0000000a,0x00000020,0x00000000,
0x00040017,0x0000000b,0x0000000a,0x00000003,
0x00040020,0x0000000c,0x00000001,0x0000000b,
0x0004003b,0x0000000c,0x0000000d,0x00000001,
0x00040017,0x0000000e,0x0000000a,0x00000002,
0x0003001e,0x00000013,0x00000007,0x00040020,
0x00000014,0x00000009,0x00000013,0x0004003b,
0x00000014,0x00000015,0x00000009,0x0004002b,
0x00000006,0x00000016,0x00000000,0x00040020,
0x00000017,0x00000009,0x00000007,0x0004002b,
0x00000006,0x0000001a,0x00000002,0x00020014,
0x0000001d,0x0004002b,0x0000000a,0x0000001e,
0x00000000,0x0004002b,0x0000000a,0x00000028,
0x00000001,0x0004002b,0x00000006,0x00000034,
0x00000001,0x00030016,0x00000037,0x00000020,
0x00040017,0x00000038,0x00000037,0x00000004,
0x00040020,0x00000039,0x00000007,0x00000038,
0x00090019,0x0000003b,0x00000037,0x00000001,
0x00000000,0x00000000,0x00000000,0x00000001,
0x00000000,0x0003001b,0x0000003c,0x0000003b,
0x00040020,0x0000003d,0x00000000,0x0000003c,
0x0004003b,0x0000003d,0x0000003e,0x00000000,
0x00040020,0x00000045,0x00000007,0x00000037,
0x00040017,0x0000004f,0x00000037,0x00000003,
0x0004003b,0x0000003d,0x00000052,0x00000000,
0x00040017,0x00000055,0x00000037,0x00000002,
0x0004002b,0x00000037,0x00000057,0x3f000000,
0x0004002b,0x00000037,0x0000005d,0x00000000,
0x0004002b,0x00000037,0x00000062,0x3e59b3d0,
0x0004002b,0x00000037,0x00000063,0x3f371759,
0x0004002b,0x00000037,0x00000064,0x3d93dd98,
0x0006002c,0x0000004f,0x00000065,0x00000062,
0x00000063,0x00000064,0x00090019,0x0000006b,
0x00000037,0x00000001,0x00000000,0x00000000,
0x00000000,0x00000002,0x00000004,0x00040020,
0x0000006c,0x00000000,0x0000006b,0x0004003b,
0x0000006c,0x0000006d,0x00000000,0x0004002b,
0x00000037,0x00000071,0x3f800000,0x0004002b,
0x0000000a,0x00000079,0x00000010,0x0006002c,
0x0000000b,0x0000007a,0x00000079,0x00000079,
0x00000028,0x0005002c,0x00000007,0x00000087,
0x0000001a,0x0000001a,0x0005002c,0x00000007,
0x00000088,0x00000034,0x00000034,0x0005002c,
0x00000055,0x00000089,0x00000057,0x00000057,
0x0006002c,0x0000004f,0x0000008a,0x0000005d,
0x0000005d,0x0000005d,0x0006002c,0x0000004f,
0x0000008b,0x00000071,0x00000071,0x00000071,
0x00050036,0x00000002,0x00000004,0x00000000,
0x00000003,0x000200f8,0x00000005,0x0004003b,
0x00000039,0x0000003a,0x00000007,0x000300f7,
0x0000007b,0x00000000,0x000300fb,0x0000001e,
0x0000007c,0x000200f8,0x0000007c,0x0004003d,
0x0000000b,0x0000000f,0x0000000d,0x0007004f,
0x0000000e,0x00000010,0x0000000f,0x0000000f,
0x00000000,0x00000001,0x0004007c,0x00000007,
0x00000011,0x00000010,0x00050041,0x00000017,
0x00000018,0x00000015,0x00000016,0x0004003d,
0x00000007,0x00000019,0x00000018,0x00050084,
0x00000007,0x0000001c,0x00000019,0x00000087,
0x00050051,0x00000006,0x00000021,0x00000011,
0x00000000,0x00050051,0x00000006,0x00000023,
0x0000001c,0x00000000,0x000500af,0x0000001d,
0x00000024,0x00000021,0x00000023,0x000400a8,
0x0000001d,0x00000025,0x00000024,0x000300f7,
0x00000027,0x00000000,0x000400fa,0x00000025,
0x00000026,0x00000027,0x000200f8,0x00000026,
0x00050051,0x00000006,0x0000002a,0x00000011,
0x00000001,0x00050051,0x00000006,0x0000002c,
0x0000001c,0x00000001,0x000500af,0x0000001d,
0x0000002d,0x0000002a,0x0000002c,0x000200f9,
0x00000027,0x000200f8,0x00000027,0x000700f5,
0x0000001d,0x0000002e,0x00000024,0x0000007c,
0x0000002d,0x00000026,0x000300f7,0x00000030,
0x00000000,0x000400fa,0x0000002e,0x0000002f,
0x00000030,0x000200f8,0x0000002f,0x000200f9,
0x0000007b,0x000200f8,0x00000030,0x000500c7,
0x00000007,0x00000036,0x00000011,0x00000088,
0x0004003d,0x0000003c,0x0000003f,0x0000003e,
0x000500c3,0x00000007,0x00000042,0x00000011,
0x00000088,0x00040064,0x0000003b,0x00000043,
0x0000003f,0x0007005f,0x00000038,0x00000044,
0x00000043,0x00000042,0x00000002,0x00000016,
0x0003003e,0x0000003a,0x00000044,0x00050051,
0x00000006,0x00000048,0x00000036,0x00000000,
0x00050084,0x00000006,0x00000049,0x00000048,
0x0000001a,0x00050051,0x00000006,0x0000004b,
0x00000036,0x00000001,0x00050080,0x00000006,
0x0000004c,0x00000049,0x0000004b,0x00050041,
0x00000045,0x0000004d,0x0000003a,0x0000004c,
0x0004003d,0x00000037,0x0000004e,0x0000004d,
0x0004003d,0x0000003c,0x00000053,0x00000052,
0x0004006f,0x00000055,0x00000056,0x00000011,
0x00050081,0x00000055,0x00000059,0x00000056,
0x00000089,0x0004006f,0x00000055,0x0000005b,
0x0000001c,0x00050088,0x00000055,0x0000005c,
0x00000059,0x0000005b,0x00070058,0x00000038,
0x0000005e,0x00000053,0x0000005c,0x00000002,
0x0000005d,0x0008004f,0x0000004f,0x0000005f,
0x0000005e,0x0000005e,0x00000000,0x00000001,
0x00000002,0x00050094,0x00000037,0x00000066,
0x0000005f,0x00000065,0x00050083,0x00000037,
0x00000067,0x0000004e,0x00000066,0x00060050,
0x0000004f,0x00000069,0x00000067,0x00000067,
0x00000067,0x00050081,0x0000004f,0x0000006a,
0x0000005f,0x00000069,0x0004003d,0x0000006b,
0x0000006e,0x0000006d,0x0008000c,0x0000004f,
0x00000074,0x00000001,0x0000002b,0x0000006a,
0x0000008a,0x0000008b,0x00050051,0x00000037,
0x00000075,0x00000074,0x00000000,0x00050051,
0x00000037,0x00000076,0x00000074,0x00000001,
0x00050051,0x00000037,0x00000077,0x00000074,
0x00000002,0x00070050,0x00000038,0x00000078,
0x00000075,0x00000076,0x00000077,0x00000071,
0x00040063,0x0000006e,0x00000011,0x00000078,
0x000200f9,0x0000007b,0x000200f8,0x0000007b,
0x000100fd,0x00010038}
+426
View File
@@ -0,0 +1,426 @@
// Copyright (C) 2017-2021 igv
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 3.0 of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this program. If not, see <https://www.gnu.org/licenses/>.
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC feature map 1
//!BIND LUMA
//!SAVE FEATURE1
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(-0.1572492271661758,-0.0120896836742759,0.0061487639322877,-0.2852848768234253);
res += vec4(-0.0047900392673910,0.0537447109818459,-0.0000247144635068,0.0066653941757977) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.0073144687339664,-0.0309004038572311,-0.0109181385487318,-0.0092840325087309) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(0.0591700896620750,0.1974907070398331,-0.0197357516735792,-0.0546554848551750) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(-0.0011764382943511,-0.0299451071768999,0.0229587312787771,0.0021908886265010) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(0.0098101310431957,0.0080995410680771,-0.0030452020000666,-0.0132035519927740) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(-0.0168330334126949,-0.0743711441755295,-0.0259261634200811,0.0234480481594801) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(0.0239933785051107,0.1896541714668274,0.0207756329327822,-0.0370332375168800) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.0094799501821399,-0.0652511194348335,-0.0004292793164495,-0.0726212188601494) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(0.0297284796833992,-0.1210186630487442,-0.0202929321676493,-0.0574462898075581) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(-0.0318185277283192,0.0840775370597839,0.0110451309010386,0.0415569432079792) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.0253141783177853,0.1168256178498268,0.1159729585051537,0.0963164269924164) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(-0.1103615835309029,-0.0276833958923817,-0.4999594092369080,0.1053867191076279) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(1.1100435256958008,0.0646764487028122,0.0154005717486143,0.8891586661338806) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.1229330673813820,0.1719468832015991,0.5730338096618652,-0.1645544171333313) * float(LUMA_texOff(vec2(0,1)));
res += vec4(-0.0090442728251219,-0.3023961782455444,-0.1589493155479431,0.0418574027717113) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.0031942036002874,-0.1310926079750061,0.0075543406419456,-0.0016449346439913) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(-0.0995150282979012,-0.0701921209692955,-0.0130895879119635,0.1344170123338699) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.0060519003309309,-0.1533465683460236,0.0114194005727768,0.0264683905988932) * float(LUMA_texOff(vec2(1,0)));
res += vec4(0.0244008023291826,0.1881769001483917,-0.0206351149827242,-0.0628309547901154) * float(LUMA_texOff(vec2(1,1)));
res += vec4(0.0075713125988841,0.0508594363927841,0.0430423170328140,-0.0124188791960478) * float(LUMA_texOff(vec2(1,2)));
res += vec4(-0.0166875869035721,-0.0047865519300103,0.0006719123339280,0.0316803231835365) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(-0.0058461269363761,0.0990798473358154,-0.0177743826061487,-0.0066122291609645) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(-0.0972401946783066,-0.0225446373224258,-0.0037693574558944,0.1953062713146210) * float(LUMA_texOff(vec2(2,0)));
res += vec4(-0.0216837190091610,-0.1824268400669098,0.0069816261529922,0.0283037684857845) * float(LUMA_texOff(vec2(2,1)));
res += vec4(-0.0025767991319299,0.0459827110171318,-0.0080216089263558,0.0084134787321091) * float(LUMA_texOff(vec2(2,2)));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC feature map 2
//!BIND LUMA
//!SAVE FEATURE2
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(0.0541447550058365,0.0088306749239564,-0.0112389577552676,-0.0127860950306058);
res += vec4(0.0142660010606050,0.0137931071221828,0.0061188107356429,-0.0104134222492576) * float(LUMA_texOff(vec2(-2,-2)));
res += vec4(0.0147292809560895,-0.0289912857115269,0.0266769435256720,0.0933856964111328) * float(LUMA_texOff(vec2(-2,-1)));
res += vec4(-0.1734338253736496,0.1116316691040993,-0.1973157376050949,-0.0581855811178684) * float(LUMA_texOff(vec2(-2,0)));
res += vec4(0.0347507223486900,-0.0341566652059555,0.0061667622067034,0.0075258882716298) * float(LUMA_texOff(vec2(-2,1)));
res += vec4(0.0069884369149804,-0.0194250214844942,0.0080830128863454,-0.0036874092184007) * float(LUMA_texOff(vec2(-2,2)));
res += vec4(0.0233764201402664,0.0344744995236397,0.0162145942449570,0.0979529991745949) * float(LUMA_texOff(vec2(-1,-2)));
res += vec4(0.1280796974897385,-0.1018339172005653,-0.0132977198809385,-0.0019474622095004) * float(LUMA_texOff(vec2(-1,-1)));
res += vec4(0.4286882579326630,0.1222677752375603,0.7046694159507751,0.0945475697517395) * float(LUMA_texOff(vec2(-1,0)));
res += vec4(0.1107441782951355,-0.0134433070197701,-0.0174900908023119,-0.1686445474624634) * float(LUMA_texOff(vec2(-1,1)));
res += vec4(0.0321478620171547,0.0065357843413949,0.0300805997103453,0.0420113280415535) * float(LUMA_texOff(vec2(-1,2)));
res += vec4(-0.1240341588854790,0.0950303301215172,-0.0129648456349969,-0.2681856453418732) * float(LUMA_texOff(vec2(0,-2)));
res += vec4(0.4846960902214050,0.0351924635469913,0.0223043337464333,-0.1273630708456039) * float(LUMA_texOff(vec2(0,-1)));
res += vec4(-1.9379507303237915,-0.2444442063570023,0.0291962660849094,-0.3835578560829163) * float(LUMA_texOff(vec2(0,0)));
res += vec4(0.6396278142929077,-0.0765938311815262,-0.0552659817039967,0.4393545985221863) * float(LUMA_texOff(vec2(0,1)));
res += vec4(-0.1969728022813797,-0.0607173256576061,0.0131113547831774,0.0542017817497253) * float(LUMA_texOff(vec2(0,2)));
res += vec4(0.0091696009039879,-0.0031533432193100,-0.0368777588009834,-0.0459998287260532) * float(LUMA_texOff(vec2(1,-2)));
res += vec4(0.1096992492675781,0.2597902715206146,0.0304869692772627,-0.0195200722664595) * float(LUMA_texOff(vec2(1,-1)));
res += vec4(0.2889648377895355,-0.4275591969490051,-0.7414156794548035,0.2695442438125610) * float(LUMA_texOff(vec2(1,0)));
res += vec4(0.0892018377780914,-0.0229137558490038,0.0244414471089840,-0.1926898956298828) * float(LUMA_texOff(vec2(1,1)));
res += vec4(0.0576358586549759,0.0027846973389387,-0.0036861505359411,-0.0253547113388777) * float(LUMA_texOff(vec2(1,2)));
res += vec4(0.0159624069929123,0.0319602824747562,0.0019470085389912,0.0089780492708087) * float(LUMA_texOff(vec2(2,-2)));
res += vec4(0.0552792511880398,0.0543054342269897,0.0134062822908163,0.0545728243887424) * float(LUMA_texOff(vec2(2,-1)));
res += vec4(-0.1170092225074768,0.1963327825069427,0.1503890156745911,0.1891828328371048) * float(LUMA_texOff(vec2(2,0)));
res += vec4(-0.0084421783685684,0.1297017931938171,-0.0330600887537003,-0.0942063704133034) * float(LUMA_texOff(vec2(2,1)));
res += vec4(0.0118440408259630,-0.0337875857949257,0.0055063469335437,0.0254479162395000) * float(LUMA_texOff(vec2(2,2)));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC mapping 1_1
//!BIND FEATURE1
//!BIND FEATURE2
//!SAVE MODEL21
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(-0.0445119962096214,-0.7632357478141785,0.0156328510493040,-0.2424548566341400);
res += mat4(0.1279004216194153,-0.0275541823357344,0.2275633513927460,0.2241709381341934,0.0197204202413559,-0.0456816256046295,-0.1296672523021698,0.0564568229019642,-0.0241488646715879,-0.0237508192658424,-0.1899632662534714,0.4177669584751129,-0.1814560592174530,-0.0526473335921764,0.1154382973909378,-0.0715614855289459) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(-0.0660311505198479,0.0416736751794815,0.3146112561225891,0.1472041457891464,-0.3456672728061676,-0.0055983816273510,0.0022350433282554,0.0819796621799469,0.0057485047727823,0.1532524228096008,0.0204557459801435,-0.2500547170639038,-0.0524359568953514,-0.1911625266075134,-0.1078366711735725,-0.1296254843473434) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(0.0904538556933403,-0.0150672039017081,0.3322310745716095,0.0638923197984695,0.5975797176361084,-0.2452044337987900,-0.4947478473186493,-0.0783191770315170,0.5771877169609070,-0.0870653912425041,-0.8966570496559143,-0.2140965163707733,-0.0493861362338066,-0.0380848757922649,-0.1345319598913193,-0.0186063013970852) * FEATURE1_texOff(vec2(-1,0));
res += mat4(-0.2523841261863708,0.1387074738740921,0.7878478765487671,-0.2251627445220947,0.2277439534664154,0.5417668819427490,0.0866540968418121,-0.1707777529954910,-0.0598246827721596,-0.4717158675193787,-1.2242834568023682,0.0454643070697784,-0.3503442704677582,0.0573085807263851,0.2530198395252228,-0.0207283068448305) * FEATURE2_texOff(vec2(-1,0));
res += mat4(0.0168380383402109,-0.2142438590526581,-0.0207892972975969,0.3628533780574799,0.2431225180625916,0.3098322153091431,0.4073205888271332,-0.2762102782726288,-0.0197229012846947,0.1305596232414246,-0.5697882771492004,-0.2976251542568207,-0.0551432967185974,0.2614036500453949,-0.1410341411828995,-0.2906406223773956) * FEATURE1_texOff(vec2(-1,1));
res += mat4(-0.0498303361237049,0.0224859956651926,0.1952174901962280,-0.0311204437166452,0.2501715123653412,-0.5893352627754211,-1.0793941020965576,0.0160885509103537,0.5081620812416077,0.0482814386487007,0.0546359121799469,-0.0501569248735905,0.1400523334741592,-0.0106841633096337,-0.0940591320395470,-0.1791856139898300) * FEATURE2_texOff(vec2(-1,1));
res += mat4(0.0393299944698811,0.2232691347599030,-0.1055066883563995,-0.1607919186353683,-0.1567825973033905,-0.0042221010662615,-0.0548228211700916,0.2352052628993988,0.1483389288187027,0.7503526806831360,0.0797731876373291,-0.0049001369625330,-0.0242983382195234,-0.0308702979236841,0.0828925222158432,0.0561857633292675) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.0926392748951912,-0.0418718457221985,-0.3060409128665924,-0.1883587390184402,0.0284292586147785,-0.3584854304790497,-0.7909982800483704,-0.0187337957322598,-0.2496993243694305,-0.7520986795425415,0.3771523833274841,-0.0259053874760866,0.0337998159229755,0.2209153026342392,0.0708771497011185,-0.2814430892467499) * FEATURE2_texOff(vec2(0,-1));
res += mat4(-0.5287809371948242,0.5777525901794434,0.0880500450730324,-0.8452472090721130,-0.3393408954143524,-0.2273543328046799,-0.1298527419567108,0.4990308582782745,1.2613251209259033,-0.7636719942092896,1.5694186687469482,-0.4087363779544830,0.0874531939625740,0.7067158818244934,-0.3419588804244995,-0.3265531957149506) * FEATURE1_texOff(vec2(0,0));
res += mat4(0.8229957222938538,-0.1236215904355049,-0.1859253048896790,1.6684840917587280,0.2000777721405029,-0.1239093989133835,1.5623438358306885,0.1779983490705490,0.1017884835600853,-0.3707404434680939,1.0626678466796875,-0.3124029338359833,0.0659058541059494,-0.3585464656352997,-0.1866402775049210,0.6733445525169373) * FEATURE2_texOff(vec2(0,0));
res += mat4(-0.5544115900993347,-0.1892931908369064,0.2460739761590958,-0.1056193932890892,-0.4318082630634308,0.1257930994033813,-0.2672747671604156,-0.1690235435962677,0.0018221997888759,-0.4397548139095306,-0.3007801771163940,0.1068472340703011,0.3506655991077423,0.1143834441900253,0.1363849341869354,-0.1417382210493088) * FEATURE1_texOff(vec2(0,1));
res += mat4(-0.0505668744444847,0.1831464916467667,0.3957343697547913,-0.2295413911342621,-0.3892803490161896,0.5436951518058777,0.1217770799994469,0.0223295800387859,-0.4462866187095642,-0.4055982232093811,-0.3771279454231262,0.0807068347930908,0.2116729617118835,0.0281026475131512,-0.0229265503585339,0.2868605256080627) * FEATURE2_texOff(vec2(0,1));
res += mat4(0.1962712109088898,-0.2373334914445877,-2.5208437442779541,-0.1988540291786194,0.2224564403295517,-0.1783192902803421,-0.3962321281433105,-0.1685980409383774,0.1910390257835388,0.2554391324520111,0.4586416482925415,0.2779130041599274,-0.2002453953027725,-0.0061091855168343,1.3808131217956543,0.0434907525777817) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.0307611189782619,-0.0524470545351505,-0.5897512435913086,-0.0816674903035164,0.4052906930446625,0.2542210817337036,-1.9041002988815308,0.0835462361574173,-0.2484460622072220,-0.0184739269316196,0.4510098397731781,0.2587619423866272,0.1537084281444550,0.1503131389617920,-0.0742949545383453,0.0613216012716293) * FEATURE2_texOff(vec2(1,-1));
res += mat4(0.1772638261318207,0.0948876664042473,0.0083848545327783,-0.2919732332229614,0.2566950321197510,0.0288751143962145,-0.4624863862991333,-0.0608786940574646,0.3310996592044830,-0.0104284398257732,0.6334818005561829,-0.0027201652992517,-0.0342350602149963,0.1938806027173996,-0.2464301586151123,0.0125883584842086) * FEATURE1_texOff(vec2(1,0));
res += mat4(0.4839433431625366,-0.0502159744501114,-1.1114163398742676,-0.3965759575366974,0.2117286175489426,0.0414481423795223,-0.1332397013902664,-0.0549883767962456,-0.1275007277727127,0.7844302654266357,-0.0095163453370333,0.0961041301488876,-0.4759134948253632,-0.4284025132656097,-0.2072399407625198,-0.3953579664230347) * FEATURE2_texOff(vec2(1,0));
res += mat4(0.1605869531631470,-0.1715892106294632,0.0865620598196983,-0.0464400537312031,-0.2688548862934113,0.1722514480352402,0.0167612321674824,-0.0032994034700096,-0.3451044559478760,-0.2280300110578537,-0.0029796555172652,-0.1597652435302734,0.0500137843191624,0.1023071259260178,-0.0407028235495090,0.2228624969720840) * FEATURE1_texOff(vec2(1,1));
res += mat4(0.6999920010566711,0.0839441940188408,0.0815469548106194,-0.1509176045656204,-0.0690853074193001,-0.3200871348381042,0.0780162736773491,-0.1449639797210693,0.2868815064430237,0.3962450027465820,-0.3439113497734070,0.2657423913478851,0.0988137871026993,0.3471299111843109,-0.2186402678489685,-0.0648017078638077) * FEATURE2_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(1.0311057567596436,0.1051208898425102,0.1158760935068130,0.0466635078191757) * min(res, vec4(0.0));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC mapping 1_2
//!BIND FEATURE1
//!BIND FEATURE2
//!SAVE MODEL22
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(0.0713458731770515,-0.1403961777687073,-0.0019562745001167,0.0153338573873043);
res += mat4(-0.0950641855597496,-0.1496641039848328,-0.0653550028800964,0.0655386000871658,-0.0118882004171610,0.2012491524219513,-0.2844599783420563,-0.4794720113277435,0.1128025799989700,-0.0173030979931355,-0.0558849945664406,-0.2957552075386047,0.0128202112391591,0.0199047476053238,-0.0091027505695820,-0.0789640173316002) * FEATURE1_texOff(vec2(-1,-1));
res += mat4(0.1597457975149155,-0.0476507246494293,0.1466529071331024,0.0859163030982018,0.0797316282987595,-0.3380981683731079,0.2370245009660721,-0.1145931258797646,-0.0352988094091415,-0.0444888733327389,-0.2100716233253479,0.1305520236492157,-0.1359029710292816,0.1097442805767059,0.0449938289821148,-0.1155664771795273) * FEATURE2_texOff(vec2(-1,-1));
res += mat4(-0.0333916284143925,0.2415594160556793,0.0520512908697128,0.1228107511997223,-0.0491011217236519,0.4408806562423706,0.4631956815719604,0.2014560103416443,-0.3688595592975616,0.0367180295288563,0.2484581321477890,-0.1113442853093147,0.1283355057239532,0.0418004281818867,-0.0171243026852608,-0.1231943219900131) * FEATURE1_texOff(vec2(-1,0));
res += mat4(0.3493446409702301,0.4550022482872009,0.0368724688887596,0.0748724937438965,0.5001406073570251,0.0145555436611176,0.1236629858613014,0.3143120706081390,-0.1951988488435745,-0.0157914645969868,0.0937998965382576,-0.2233840376138687,0.5033411383628845,-0.3183194100856781,-0.2259195148944855,0.3639536798000336) * FEATURE2_texOff(vec2(-1,0));
res += mat4(-0.0742707476019859,-0.1287801116704941,-0.2533137500286102,0.0666435658931732,-0.0185621567070484,0.1427449285984039,-0.0724751204252243,-0.0781485065817833,-0.2270648330450058,-0.2314778864383698,0.3814929425716400,-0.1655400246381760,0.0408568829298019,-0.1139645278453827,0.1797397136688232,-0.0245632305741310) * FEATURE1_texOff(vec2(-1,1));
res += mat4(0.1184135973453522,0.0439366139471531,0.0225226897746325,-0.0038526873104274,0.1292685419321060,0.0629177838563919,0.3455114960670471,-0.1857204884290695,-0.4921502172946930,-0.1171003505587578,0.0188624169677496,-0.1101682260632515,0.0676844567060471,0.5154085755348206,-0.0898379907011986,0.3413280248641968) * FEATURE2_texOff(vec2(-1,1));
res += mat4(-0.2631838321685791,0.0215514600276947,0.3092688918113708,-0.0200904365628958,0.0678770467638969,0.1769931465387344,-0.3653681278228760,-0.3274513185024261,0.4608019888401031,-0.1544784456491470,0.1189439669251442,0.7015876173973083,0.2732816934585571,-0.0545057803392410,-0.3474545478820801,-0.0253226496279240) * FEATURE1_texOff(vec2(0,-1));
res += mat4(0.0994316861033440,0.0642566010355949,0.2031503319740295,0.2276959568262100,-0.1094077304005623,0.4463521838188171,0.0921792611479759,-0.3033096492290497,-0.0953373983502388,-0.1331395804882050,0.2615413069725037,-0.2874414622783661,-0.0389687754213810,0.0338272154331207,0.2804331183433533,-0.3443813025951385) * FEATURE2_texOff(vec2(0,-1));
res += mat4(-0.1806042939424515,-0.4840798676013947,0.4222546219825745,0.1238701492547989,0.0117481639608741,-0.5986865758895874,0.3057619929313660,0.1934896260499954,-0.7086342573165894,-0.8567376136779785,0.6944998502731323,-1.4599204063415527,0.0886754393577576,-0.4293498098850250,-0.1524195969104767,0.2418079674243927) * FEATURE1_texOff(vec2(0,0));
res += mat4(2.1706113815307617,0.3525652289390564,-0.7008359432220459,-0.4825965166091919,-0.3203429281711578,0.8500943183898926,-0.7993509769439697,0.4329842329025269,0.2106771767139435,1.1103280782699585,1.2092385292053223,1.4814503192901611,-0.4147390127182007,-0.7046836614608765,-0.1443170011043549,-0.6811133027076721) * FEATURE2_texOff(vec2(0,0));
res += mat4(-0.1489356607198715,0.1400019824504852,0.2425604313611984,-0.2098473459482193,-0.1580564379692078,0.1463224738836288,-0.2187854647636414,0.5174596905708313,-0.0143817225471139,-0.0362622961401939,-0.0068237944506109,0.4749472737312317,0.2914732992649078,-0.3306328952312469,-0.2444777786731720,-0.1171946674585342) * FEATURE1_texOff(vec2(0,1));
res += mat4(0.0455239675939083,0.3496046066284180,0.1297491937875748,-0.2541095912456512,0.3605501055717468,0.2339573651552200,-0.0188565086573362,-0.0526181310415268,0.1471424549818039,0.8212822079658508,0.0819099843502045,-0.0851665437221527,0.3739568293094635,0.1304695755243301,0.1481167376041412,-0.2134698331356049) * FEATURE2_texOff(vec2(0,1));
res += mat4(-0.2076720446348190,-0.0932599306106567,0.0648527294397354,-0.2374770641326904,-0.0927826911211014,0.1848200261592865,0.4131188094615936,0.3280069231987000,-0.2099185734987259,0.2130926996469498,-0.0362745784223080,0.0191331822425127,0.1590368449687958,0.0303016249090433,0.1207325309514999,0.2451425045728683) * FEATURE1_texOff(vec2(1,-1));
res += mat4(-0.0135009605437517,-0.0101303057745099,0.0752487555146217,0.0533373840153217,-0.0253537259995937,0.1318614929914474,-0.1263181120157242,0.0249524712562561,-0.1477261483669281,0.3236559033393860,0.0773291289806366,-0.1439673304557800,-0.2005890905857086,0.0892757251858711,0.0398719944059849,0.3675192892551422) * FEATURE2_texOff(vec2(1,-1));
res += mat4(-0.0193535499274731,-0.2256918102502823,0.0341436080634594,0.0795947611331940,0.1496857404708862,-0.2784725725650787,-0.0582313314080238,-0.2786065340042114,-0.1666128039360046,-0.6534121036529541,0.2695854306221008,-0.0179719906300306,0.0015976354479790,0.0139929885044694,-0.1706486046314240,-0.3274765610694885) * FEATURE1_texOff(vec2(1,0));
res += mat4(-0.7170836329460144,0.0868831276893616,0.1829078495502472,-0.0076045366004109,0.1525912433862686,-0.2558896839618683,0.0893209800124168,-0.3426039516925812,-0.2871107757091522,-0.2445062994956970,0.1676304638385773,0.2116415053606033,0.0883995518088341,-0.3880331516265869,0.2636835277080536,-0.2514505982398987) * FEATURE2_texOff(vec2(1,0));
res += mat4(-0.1861270815134048,0.2000686377286911,-0.1501186788082123,0.1525203883647919,0.1969228833913803,0.1174068301916122,-0.1281060427427292,-0.0854888409376144,0.0290613435208797,-0.0538076497614384,-0.0251582786440849,0.0692845508456230,0.0384319014847279,0.2888138592243195,0.1151804402470589,0.0990421250462532) * FEATURE1_texOff(vec2(1,1));
res += mat4(-0.0344385802745819,0.1270371377468109,0.0922426953911781,-0.0426749102771282,-0.1656492203474045,-0.3273328542709351,-0.0282224025577307,0.1099396124482155,-0.1113230437040329,0.2943290174007416,-0.2181112915277481,-0.3177657723426819,-0.1096536740660667,-0.0508293099701405,-0.0256164856255054,-0.0388228967785835) * FEATURE2_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.7142407894134521,0.0686190053820610,0.3999933302402496,-1.0247212648391724) * min(res, vec4(0.0));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC mapping 2_1
//!BIND MODEL21
//!BIND MODEL22
//!SAVE MODEL1
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(0.0203563515096903,0.1902436912059784,-0.0757935121655464,0.0393617525696754);
res += mat4(-0.1080558672547340,-0.0400269515812397,0.1042881682515144,-0.1994346678256989,0.0172465778887272,-0.0829331055283546,-0.1278677284717560,-0.0762506872415543,-0.0593080408871174,-0.0305212251842022,0.1326192617416382,-0.3380933105945587,-0.0722763314843178,-0.1975518912076950,-0.0223602931946516,0.2251029163599014) * MODEL21_texOff(vec2(-1,-1));
res += mat4(0.1747678220272064,0.0297168865799904,0.1054855734109879,0.0803295820951462,-0.0338115766644478,-0.3885377943515778,-0.3540246784687042,-0.0719623491168022,-0.0656022280454636,-0.0469004511833191,0.1379419565200806,0.0319863893091679,0.0799935683608055,-0.0099127553403378,0.1698455959558487,-0.0108015276491642) * MODEL22_texOff(vec2(-1,-1));
res += mat4(0.1587898135185242,0.3995443880558014,-0.0333226583898067,0.2373267263174057,-0.1616930961608887,0.0659186244010925,0.0141129801049829,-0.0541022196412086,-0.5743742585182190,0.1121487766504288,0.4259817600250244,0.0280795227736235,-0.3721714317798615,-0.3496374189853668,0.0997273251414299,-0.0079920450225472) * MODEL21_texOff(vec2(-1,0));
res += mat4(0.0928084030747414,0.3107658624649048,0.1375299990177155,0.1550617516040802,-0.0780353918671608,-0.0102957757189870,-0.2056752145290375,-0.3927979469299316,-1.2112152576446533,0.0213295854628086,0.1396545022726059,0.0492016039788723,-0.0569122135639191,-0.1691886335611343,-0.1535325646400452,0.2800904810428619) * MODEL22_texOff(vec2(-1,0));
res += mat4(0.2494744062423706,-0.0363066755235195,0.0959179550409317,-0.0048101749271154,-0.0195793900638819,0.0451166369020939,0.1470773071050644,-0.0050059854984283,0.2886958122253418,-0.3221147954463959,-0.7062104344367981,0.1646659970283508,-0.0092520527541637,-0.1254461258649826,0.0217506736516953,-0.0678806379437447) * MODEL21_texOff(vec2(-1,1));
res += mat4(-0.0686557441949844,-0.0414490625262260,-0.1855954080820084,0.0264346338808537,-0.0296857114881277,-0.0431593284010887,0.0669397041201591,-0.0946076661348343,-0.2036914378404617,-0.1336101740598679,-0.2099903970956802,-0.1327936947345734,-0.1002155169844627,-0.0368575826287270,-0.1660962998867035,0.0728288888931274) * MODEL22_texOff(vec2(-1,1));
res += mat4(0.5504320859909058,0.2939232587814331,0.4704743027687073,0.2129514217376709,0.0843106731772423,-0.1978624463081360,-0.3298224806785583,0.1919094175100327,0.1980742365121841,-0.0644423812627792,0.0091170109808445,-0.2124856859445572,0.0804558470845222,-0.1130188927054405,-0.6276652812957764,0.1861163526773453) * MODEL21_texOff(vec2(0,-1));
res += mat4(-0.3357668519020081,0.2093413323163986,0.4355416595935822,0.1550502777099609,-0.6510964035987854,-0.1751857399940491,-0.2060168534517288,-0.1710205078125000,-0.1202360317111015,-0.2500316798686981,0.1074745431542397,-0.2418434321880341,0.0133954072371125,-0.0555886104702950,0.1514673978090286,0.2739115655422211) * MODEL22_texOff(vec2(0,-1));
res += mat4(-0.3006273508071899,-0.2699472010135651,-0.1982013583183289,-0.0032952548936009,0.0307833012193441,0.3671586215496063,-0.0966020002961159,-0.2836556434631348,0.4297264218330383,0.6171903610229492,0.6723483800888062,0.2705117464065552,-0.1438141316175461,-0.0873940736055374,-0.7001031041145325,-0.2052250355482101) * MODEL21_texOff(vec2(0,0));
res += mat4(-0.2875024676322937,-1.6230558156967163,-0.6733398437500000,-0.9642448425292969,-0.1964960694313049,0.2485812455415726,0.1236900389194489,-1.1423941850662231,-0.0412602946162224,0.3412002623081207,0.3962794244289398,-0.2490761876106262,-0.0058065578341484,-0.4578708708286285,-0.2418260127305984,0.5357795953750610) * MODEL22_texOff(vec2(0,0));
res += mat4(0.0062361713498831,0.1925230026245117,0.0824977159500122,0.0561275146901608,0.0929671525955200,0.0698546022176743,0.3816939592361450,0.0395248420536518,-0.0719512030482292,0.0564917400479317,-0.1297784000635147,0.1245511695742607,0.0012355837970972,-0.0990515723824501,0.4213519692420959,-0.1645816713571548) * MODEL21_texOff(vec2(0,1));
res += mat4(-0.0611936338245869,-0.0220258161425591,-0.0040935277938843,-0.1060328409075737,-0.0583154149353504,-0.0171997752040625,0.1058546081185341,0.2793170809745789,-0.2339317053556442,-0.1972009539604187,-0.0600687190890312,-0.0684379041194916,0.0243016034364700,-0.2111079394817352,-0.2042971849441528,0.0724857896566391) * MODEL22_texOff(vec2(0,1));
res += mat4(-0.0833447948098183,-0.0533220991492271,0.0767802372574806,0.1182348504662514,-0.0223299078643322,-0.0479344800114632,-0.0119727496057749,0.0524821877479553,-0.0334780365228653,0.0719002187252045,0.0439689308404922,0.0475181229412556,0.0764308497309685,0.0086713796481490,-0.1700707823038101,0.0657354295253754) * MODEL21_texOff(vec2(1,-1));
res += mat4(0.1391696482896805,0.0739523395895958,0.0565792545676231,-0.0430364646017551,0.0943084582686424,0.0102064209058881,0.0120795257389545,-0.0841303989291191,0.1573246121406555,0.0164279472082853,0.0988841354846954,-0.1430613398551941,-0.0572808869183064,-0.0844292491674423,0.0621565617620945,0.0923799052834511) * MODEL22_texOff(vec2(1,-1));
res += mat4(-0.1223107874393463,-0.2441930323839188,-0.2410650849342346,-0.0162935722619295,0.0695567727088928,-0.0028583710081875,-0.0059417244046926,0.0715164169669151,-0.0668491795659065,-0.1499572396278381,0.0869924053549767,0.0553652904927731,0.2729566097259521,0.1370039582252502,-0.1282183527946472,-0.1451860070228577) * MODEL21_texOff(vec2(1,0));
res += mat4(0.1331952214241028,0.0021079662255943,-0.1116734445095062,-0.4168601930141449,0.0534659475088120,0.0037860786542296,-0.0366065911948681,0.1047701835632324,0.1491260826587677,0.0782341659069061,0.0949895009398460,-0.1160908639431000,-0.1057133302092552,-0.2699718773365021,-0.1193305626511574,0.2142304331064224) * MODEL22_texOff(vec2(1,0));
res += mat4(0.0041565205901861,-0.1065499857068062,-0.0629659667611122,-0.1144768893718719,0.0318886637687683,-0.0562519319355488,0.0043422472663224,0.0226082988083363,-0.1456198990345001,-0.2398656159639359,-0.2625046670436859,-0.0710547044873238,0.0067904205061495,0.0018544088816270,0.1019348874688148,-0.0186133962124586) * MODEL21_texOff(vec2(1,1));
res += mat4(0.0732532218098640,0.1516859829425812,0.0580205544829369,0.1968977004289627,-0.0066619524732232,-0.1597842127084732,-0.0990600511431694,-0.1059188917279243,0.0718481168150902,-0.2222738713026047,-0.1675696671009064,-0.1500017195940018,-0.0568779110908508,-0.0582777932286263,-0.0844587534666061,-0.0263266414403915) * MODEL22_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.2459529191255569,0.7563464641571045,-0.0705636814236641,-0.0094820559024811) * min(res, vec4(0.0));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC mapping 2_2
//!BIND MODEL21
//!BIND MODEL22
//!SAVE MODEL2
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(-0.0448397286236286,-0.1649267971515656,-0.1192543581128120,-0.0061073559336364);
res += mat4(0.0724840760231018,-0.0480341166257858,-0.1082391515374184,-0.1447021961212158,0.0723197236657143,0.0481830574572086,0.0009448126656935,0.0353565886616707,-0.0653375908732414,0.0029647622723132,-0.0016588598955423,-0.2075651884078979,0.0403469167649746,0.3929971158504486,0.0342363268136978,0.1427230089902878) * MODEL21_texOff(vec2(-1,-1));
res += mat4(-0.0743464827537537,0.1844420731067657,0.0256296340376139,-0.2808582782745361,0.0351609662175179,0.3277008235454559,-0.0205841138958931,-0.5355809330940247,0.0681906566023827,0.2058052271604538,-0.0479847639799118,-0.3735262751579285,-0.0261550359427929,-0.1148884072899818,-0.2329017966985703,0.0728458985686302) * MODEL22_texOff(vec2(-1,-1));
res += mat4(-0.1236097738146782,0.1251334398984909,-0.1339431256055832,0.0198749266564846,-0.1325920224189758,-2.2431972026824951,-0.0680834427475929,-0.5671764612197876,-0.3431925177574158,-0.0983135104179382,-0.2207138091325760,-0.2374879121780396,0.0127309206873178,1.3076044321060181,0.0848151743412018,-0.1928595900535583) * MODEL21_texOff(vec2(-1,0));
res += mat4(-0.0471093133091927,-0.1513628512620926,-0.0134263765066862,-0.1519252359867096,-0.5260242223739624,0.2291621714830399,0.4088975787162781,-0.4315340518951416,0.0933236032724380,-1.0386694669723511,0.0015958193689585,-0.2737887501716614,-0.0246253963559866,-0.2722961604595184,-0.1770633459091187,-0.2291279733181000) * MODEL22_texOff(vec2(-1,0));
res += mat4(-0.0017552347853780,0.1903935521841049,-0.0740704238414764,-0.0917679518461227,0.0323882810771465,-0.3029108047485352,0.0532565414905548,-0.0651542618870735,0.4868686199188232,0.8539272546768188,0.4151960313320160,0.2619662582874298,-0.0413270294666290,0.1404227763414383,0.1027320474386215,0.3274228572845459) * MODEL21_texOff(vec2(-1,1));
res += mat4(0.1828346252441406,0.0274682324379683,-0.1169882863759995,0.0327291004359722,0.1786244213581085,-0.6569546461105347,-0.0609031207859516,-0.1676601022481918,-0.1481092721223831,0.2889067530632019,0.1246089115738869,0.2203597426414490,-0.0366856977343559,0.1539470851421356,0.0069492300972342,-0.1544002443552017) * MODEL22_texOff(vec2(-1,1));
res += mat4(0.2073992937803268,-0.0717074573040009,-0.0196173377335072,-0.0956910699605942,0.0728898122906685,0.0484567955136299,0.3063069283962250,-0.3200540542602539,0.0291527546942234,-0.0265460256487131,0.1168476045131683,-0.2479970753192902,0.1224220171570778,0.0745823010802269,0.1868897676467896,-0.1958049237728119) * MODEL21_texOff(vec2(0,-1));
res += mat4(0.0019954447634518,-0.0225235987454653,0.0812198966741562,0.0295672398060560,-0.2016931176185608,-0.2239151000976562,-0.2481262385845184,-0.2381946444511414,-0.0520484372973442,-0.1200495883822441,0.2121954560279846,-0.1573531329631805,-0.0198472067713737,0.1001087054610252,-0.1084884032607079,-0.3126969039440155) * MODEL22_texOff(vec2(0,-1));
res += mat4(0.3838330209255219,0.1678779572248459,0.6496244072914124,0.3783606290817261,-0.2198582738637924,-0.2351343184709549,-0.2852248847484589,0.6310021877288818,0.8083020448684692,0.0039323624223471,-0.0901831910014153,0.0797894075512886,-0.2271467447280884,0.7082978487014771,0.1513756662607193,0.2188975960016251) * MODEL21_texOff(vec2(0,0));
res += mat4(-0.2871031761169434,0.2316448241472244,0.4947948157787323,0.3308620452880859,-0.0623455122113228,-0.1314185708761215,-0.2664661705493927,0.8725078701972961,0.4541083276271820,0.1433589160442352,-1.1269453763961792,0.6427971124649048,-0.1016561388969421,0.3418317139148712,-0.0991155728697777,-1.0508837699890137) * MODEL22_texOff(vec2(0,0));
res += mat4(-0.2179604172706604,0.1258949041366577,-0.1155700981616974,-0.0536149404942989,-0.0140614463016391,-0.0091438721865416,-0.0501774959266186,-0.3570724725723267,-0.5832386016845703,0.2004123181104660,0.2986239194869995,-0.8139168024063110,0.0142666567116976,0.0681498944759369,0.1293468028306961,-0.1001938357949257) * MODEL21_texOff(vec2(0,1));
res += mat4(0.1952836811542511,-0.3092494010925293,0.3063779771327972,0.1934849917888641,0.0746696740388870,-0.3533902466297150,-0.1269576102495193,-0.2237875163555145,0.2470717132091522,-0.2640363574028015,-0.2862776815891266,0.1740108281373978,-0.0963631942868233,0.2631850540637970,0.0400718413293362,-0.3590607047080994) * MODEL22_texOff(vec2(0,1));
res += mat4(-0.5299927592277527,0.0979989692568779,0.1666737496852875,-0.1547524333000183,-0.0043443185277283,0.1540203243494034,0.0594348423182964,-0.0167275425046682,-0.1043610796332359,0.0504250898957253,0.0456700921058655,0.2525034546852112,0.2241353541612625,-0.1678503304719925,0.1532667279243469,0.2901742458343506) * MODEL21_texOff(vec2(1,-1));
res += mat4(0.0998796448111534,0.0385462641716003,-0.0762400180101395,-0.1255892217159271,0.0281430184841156,-0.0304958485066891,-0.1440480053424835,-0.1001605167984962,-0.2257689833641052,0.2056092917919159,0.0248535349965096,-0.1383949518203735,-0.0951708629727364,0.0997417271137238,0.0275330394506454,-0.5728432536125183) * MODEL22_texOff(vec2(1,-1));
res += mat4(0.4256163835525513,0.1745115518569946,-0.2409395426511765,0.3139856457710266,-0.0036795330233872,0.1819283962249756,-0.0864531323313713,0.0102691333740950,-0.3397279977798462,0.1107075437903404,-0.0035228815395385,-0.2207705229520798,-0.1779139339923859,-0.2106117755174637,0.0352664291858673,0.3615589439868927) * MODEL21_texOff(vec2(1,0));
res += mat4(-0.0345224253833294,-0.0669926702976227,0.0907212942838669,-0.3758732676506042,-0.0452554710209370,-0.1134464666247368,-0.0358871109783649,-0.1858227252960205,-0.0233245138078928,-0.0495684742927551,0.1976234614849091,-0.1165761798620224,-0.0340447537600994,0.1095624342560768,0.0110175255686045,-0.8269239664077759) * MODEL22_texOff(vec2(1,0));
res += mat4(-0.1379280686378479,0.1004267781972885,0.0723998174071312,-0.1510958224534988,0.0610648579895496,0.0451720170676708,-0.0231927260756493,-0.0251553766429424,0.2306085377931595,0.1033207178115845,-0.1316205114126205,0.1130664870142937,-0.0458516106009483,-0.1152514070272446,-0.0088650323450565,-0.0214479379355907) * MODEL21_texOff(vec2(1,1));
res += mat4(-0.0545783303678036,-0.0620098188519478,0.0347074456512928,0.1096799224615097,0.0036664425861090,-0.0413107499480247,0.1443250179290771,-0.1161036714911461,-0.0061624986119568,-0.0252977479249239,0.3230019211769104,-0.2536626160144806,-0.0565439648926258,0.0827583819627762,-0.0071726376190782,-0.1983329951763153) * MODEL22_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(-0.6312188506126404,-0.1215368881821632,0.2487443536520004,0.4051703512668610) * min(res, vec4(0.0));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC mapping 3_1
//!BIND MODEL1
//!BIND MODEL2
//!SAVE MODEL21
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(-0.0410279631614685,-0.1111723631620407,-0.0406232848763466,-0.0939496159553528);
res += mat4(0.1221675798296928,0.0083215842023492,-0.0162804014980793,0.0316714197397232,-0.2205813378095627,0.1500435769557953,0.2109555304050446,0.2741867899894714,0.0956874340772629,-0.0896854698657990,-0.1657065600156784,-0.1349759399890900,0.0601499564945698,-0.1523845940828323,-0.1828087568283081,-0.2727653682231903) * MODEL1_texOff(vec2(-1,-1));
res += mat4(-0.0918163508176804,0.1564485579729080,0.1133174449205399,0.2215953171253204,-0.0623677000403404,-0.0497728772461414,-0.0372809022665024,-0.0258478187024593,-0.1364922970533371,0.1053884625434875,0.3292874991893768,0.2693256139755249,-0.0347631797194481,-0.1470523178577423,0.0096792401745915,-0.0542853325605392) * MODEL2_texOff(vec2(-1,-1));
res += mat4(0.1331177949905396,-0.0964357852935791,-0.0706946700811386,0.1593225002288818,-0.4815943241119385,0.1224092170596123,-0.0870430991053581,0.0005010276800022,-0.0242684502154589,-0.2256436049938202,0.1367238312959671,0.0474774017930031,0.6886650323867798,-0.0065326127223670,0.1841574758291245,-0.1354993879795074) * MODEL1_texOff(vec2(-1,0));
res += mat4(-0.1049591675400734,0.0515934228897095,0.1128631457686424,0.1688040047883987,-0.0084041170775890,-0.0006375144002959,-0.0598374009132385,0.1424416452646255,-0.0048398924991488,0.1832167655229568,0.0231959503144026,0.0816788375377655,-0.1321710795164108,0.0397678017616272,-0.0058345394209027,0.5784573554992676) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.1438693851232529,-0.0694608166813850,-0.0428275354206562,0.1599996536970139,-0.1651254445314407,0.1388883888721466,-0.0895452573895454,0.2569831907749176,0.3150432109832764,-0.0910519883036613,0.0367441214621067,0.1903669685125351,0.2805841267108917,-0.0444608181715012,0.0059385276399553,-0.2585869431495667) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.1217494234442711,0.0191769022494555,-0.0065453462302685,0.1391217857599258,0.0998920649290085,-0.0162798929959536,0.0502282194793224,0.0370145924389362,0.0290782172232866,-0.0099554909393191,0.0142515478655696,0.1248661577701569,-0.0076912571676075,0.0251651499420404,0.2190572917461395,0.0020069130696356) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.2666685581207275,-0.1625511497259140,-0.3938800692558289,-0.0253848694264889,0.0987015441060066,0.2033616453409195,0.3128099143505096,0.4608893990516663,0.0620003379881382,-0.1389972567558289,-0.3095863461494446,-0.4023511111736298,-0.1105777546763420,0.1115406602621078,0.3639950752258301,0.0645622834563255) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.2135885655879974,-0.1035343706607819,0.1795026361942291,0.1828210204839706,0.0780984908342361,0.0656728670001030,0.0033678691834211,0.1361345648765564,0.1712654232978821,-0.0172833092510700,-0.0502183400094509,0.2910411655902863,0.0691247656941414,0.1935720741748810,0.0652214139699936,0.1608240753412247) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.8243460655212402,-0.0979344248771667,-0.0366373993456364,0.1692261099815369,0.5517869591712952,0.3282494544982910,-0.7905511856079102,-0.4462923705577850,-0.0803156569600105,0.1172509342432022,0.1864327639341354,0.1471016854047775,0.1296005547046661,-0.1004103720188141,0.3174172043800354,-0.1181766316294670) * MODEL1_texOff(vec2(0,0));
res += mat4(0.0259374529123306,-0.0934808850288391,0.3008874654769897,0.3957927823066711,-0.4048821926116943,0.1461934000253677,-0.1819096356630325,-0.1908810287714005,0.3193186521530151,-0.7438099980354309,0.1919509470462799,-0.2065188735723495,0.1752236187458038,-0.6840037107467651,0.1588519066572189,-0.3956064879894257) * MODEL2_texOff(vec2(0,0));
res += mat4(0.1574442386627197,-0.0114925103262067,-0.1208277940750122,0.2058266401290894,0.2879209220409393,-0.0419875606894493,-0.1902059614658356,-0.2723863720893860,-0.1086223348975182,-0.0870924964547157,0.8605937957763672,0.2656622231006622,-0.1653763055801392,0.0816384851932526,-0.0137870563194156,0.1433854848146439) * MODEL1_texOff(vec2(0,1));
res += mat4(-0.1565909236669540,-0.0307490080595016,-0.1055604666471481,0.2573592662811279,-0.1186821162700653,0.1141471788287163,-0.0272745657712221,-0.1049114838242531,0.2445316016674042,-0.0027864547446370,-0.1759569346904755,-0.1556979566812515,0.0550616309046745,0.1704383641481400,0.0853662937879562,0.3280856907367706) * MODEL2_texOff(vec2(0,1));
res += mat4(0.1460669338703156,0.4202052652835846,-0.3638312816619873,-0.0958623066544533,-0.0492525361478329,-0.3664234280586243,0.0794373303651810,0.0399017669260502,0.0629198029637337,0.1662959158420563,-0.1001493930816650,-0.0587460733950138,-0.0396478697657585,0.0017320754704997,0.0314909480512142,-0.0202700830996037) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.0964399129152298,0.0380319654941559,0.0396055467426777,0.0265473183244467,-0.0161637403070927,-0.1872924566268921,0.1670000404119492,0.0029466480482370,-0.1093841269612312,-0.3629201948642731,-0.0562992505729198,0.1792684197425842,-0.0203859098255634,0.0983991250395775,0.0058611719869077,0.1627455651760101) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.1117974221706390,0.7562329173088074,-0.2046248912811279,0.1677842289209366,-0.2063486129045486,-0.6023545265197754,-0.5739209651947021,0.5110496878623962,-0.0715268924832344,-0.1373793482780457,0.1251420378684998,-0.0477442294359207,0.4961377978324890,0.2688887119293213,0.3146316707134247,-0.5197153687477112) * MODEL1_texOff(vec2(1,0));
res += mat4(-0.1314805448055267,0.0746279135346413,0.3457699418067932,0.2564856410026550,0.0839370116591454,-0.6136511564254761,-0.4646295011043549,0.0612256154417992,-0.1910563558340073,-0.0935136750340462,-0.2426030039787292,0.2102959007024765,0.1575350016355515,0.6145061254501343,0.3368154168128967,-0.0974092856049538) * MODEL2_texOff(vec2(1,0));
res += mat4(0.0565315335988998,0.2393359094858170,-0.0932938233017921,0.1555283814668655,0.0123879108577967,-0.1247719228267670,-0.0564610138535500,-0.1125799044966698,-0.0104600470513105,0.0482629500329494,0.2316472232341766,0.1083717569708824,-0.0525921434164047,0.0643989592790604,-0.0525734610855579,-0.0503251366317272) * MODEL1_texOff(vec2(1,1));
res += mat4(-0.1835366338491440,0.0978360474109650,-0.1111819595098495,0.2109299153089523,0.0509372949600220,-0.1992686837911606,0.0677929744124413,-0.0870024710893631,-0.0412262082099915,-0.0697719156742096,-0.0967373847961426,0.0137308547273278,0.0195730421692133,0.0410240143537521,0.1157210171222687,0.2283479571342468) * MODEL2_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.1991519331932068,-0.1275756657123566,-0.0622864030301571,0.1586369574069977) * min(res, vec4(0.0));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC mapping 3_2
//!BIND MODEL1
//!BIND MODEL2
//!SAVE MODEL22
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(-0.0089084329083562,-0.0336172059178352,0.0177190825343132,0.0529975406825542);
res += mat4(-0.0275970958173275,0.0141968233510852,0.1181544512510300,-0.0572245270013809,0.1161347925662994,-0.1156444773077965,-0.2549640238285065,0.0882879272103310,-0.0715355500578880,0.0151285668835044,0.1079384386539459,0.0650847703218460,-0.1597152203321457,0.0669793561100960,0.2084401696920395,-0.0951152443885803) * MODEL1_texOff(vec2(-1,-1));
res += mat4(0.0404323227703571,-0.0206144321709871,-0.1080420613288879,-0.2038477361202240,0.0248847268521786,-0.0064681121148169,0.0389525443315506,0.0011026862775907,0.0885242074728012,0.0295896343886852,-0.3323790132999420,0.1935138553380966,-0.0466548874974251,0.1023886054754257,0.1257870644330978,-0.1541756242513657) * MODEL2_texOff(vec2(-1,-1));
res += mat4(-0.0076520540751517,0.0361139886081219,0.1749804913997650,-0.2051989138126373,0.0022692133206874,-0.0282937753945589,-0.2039019316434860,-0.2343468815088272,-0.0357327871024609,-0.0570764988660812,0.2925858795642853,-0.1988349705934525,-0.0584560707211494,-0.0341510921716690,0.1300961822271347,0.5184492468833923) * MODEL1_texOff(vec2(-1,0));
res += mat4(0.0884973928332329,0.0333527140319347,0.0180535931140184,-0.2655122876167297,0.0433661043643951,0.0104369185864925,0.0010909073753282,-0.0705273598432541,-0.0602585524320602,0.2420269846916199,-0.4731841087341309,-0.8040290474891663,0.3066828548908234,-0.2466925680637360,0.0938910692930222,-0.2002603262662888) * MODEL2_texOff(vec2(-1,0));
res += mat4(0.0549152903258801,0.0291299298405647,0.0946277007460594,-0.0581608228385448,0.0669180899858475,-0.0635575056076050,-0.2427970170974731,-0.2677550315856934,0.2226776182651520,0.1301570236682892,-0.1519709974527359,0.0671724304556847,-0.0526433289051056,0.1898351758718491,0.2383745312690735,0.2191711813211441) * MODEL1_texOff(vec2(-1,1));
res += mat4(-0.0234222635626793,0.0238620284944773,0.0427630320191383,-0.1080563366413116,0.0332126952707767,-0.0039051575586200,0.0293126031756401,0.0161924213171005,0.0453971028327942,0.0131999952718616,-0.0689036697149277,0.2349009960889816,0.1013344153761864,0.2706570029258728,0.1191426888108253,-0.2830821871757507) * MODEL2_texOff(vec2(-1,1));
res += mat4(0.0181465242058039,-0.0571886636316776,0.4875229001045227,-0.4244020283222198,0.4331104159355164,0.1066712513566017,-0.5277034044265747,0.1110567077994347,-0.1179447323083878,-0.0273578558117151,0.1798476576805115,-0.2829602360725403,0.1012385115027428,-0.2528488039970398,0.1697608679533005,0.1121710017323494) * MODEL1_texOff(vec2(0,-1));
res += mat4(-0.1404130905866623,-0.0984055623412132,-0.0279541295021772,-0.1321212500333786,-0.0841855704784393,0.1336171030998230,-0.1458790600299835,-0.0044095455668867,0.2203754037618637,0.1455714553594589,-0.2362042963504791,-0.0329121425747871,-0.1683547794818878,0.0289597529917955,0.3424547612667084,0.0143845872953534) * MODEL2_texOff(vec2(0,-1));
res += mat4(0.0287246014922857,0.1948280781507492,0.5998955368995667,0.1192114129662514,-0.6269109249114990,0.8724324703216553,-0.6399638652801514,-0.4201497733592987,-0.3355066180229187,-0.1566904038190842,-0.4396412074565887,0.1525828838348389,0.5573399066925049,0.2324324846267700,0.2762884795665741,0.0406046211719513) * MODEL1_texOff(vec2(0,0));
res += mat4(0.3890096545219421,-0.0574061162769794,-0.1468243300914764,-0.5953360199928284,-0.1363215148448944,-0.2224670499563217,-0.2237723320722580,0.2738097012042999,-0.4868114292621613,-0.5029351711273193,-0.3570256233215332,-0.1776263266801834,-0.0176672954112291,-0.4318660795688629,1.0395888090133667,0.1728395074605942) * MODEL2_texOff(vec2(0,0));
res += mat4(0.1337304115295410,-0.0809440389275551,0.1600498855113983,-0.1108811497688293,-0.2376178801059723,-0.1532768607139587,-0.0447455830872059,0.2515332102775574,0.4848278462886810,-0.0915748402476311,-0.0336527302861214,-0.2141884714365005,0.2125129699707031,0.3237875998020172,0.0022272330243140,-0.0167857185006142) * MODEL1_texOff(vec2(0,1));
res += mat4(0.0457934997975826,0.0510537698864937,-0.0519523508846760,-0.4506326615810394,-0.1029204949736595,0.0116113182157278,-0.1750748157501221,-0.0048758201301098,0.1506977379322052,0.0633068457245827,-0.1628549993038177,-0.0144928665831685,0.1408756822347641,0.2896180152893066,0.0803691521286964,-0.4930096566677094) * MODEL2_texOff(vec2(0,1));
res += mat4(-0.0484248884022236,0.1371297985315323,-0.1235475391149521,-0.2618594765663147,-0.0280395895242691,0.0248795989900827,0.1204105168581009,0.3246576189994812,0.0426272377371788,-0.0520061068236828,0.0575957447290421,-0.2613646090030670,0.1165295541286469,-0.0390013493597507,-0.0470846109092236,-0.0014663023175672) * MODEL1_texOff(vec2(1,-1));
res += mat4(-0.1066762879490852,-0.0869804695248604,-0.0099332248792052,-0.1355892717838287,-0.0760413780808449,0.1377770304679871,-0.0263407956808805,0.0880135521292686,0.1496269851922989,-0.0487459264695644,0.1286851912736893,0.2218491584062576,0.1723349541425705,-0.0165541302412748,-0.0690477639436722,-0.2388458102941513) * MODEL2_texOff(vec2(1,-1));
res += mat4(-0.4236431121826172,0.0465179122984409,-0.1526456624269485,0.1426440477371216,0.5913932919502258,-0.1082349196076393,0.2731275856494904,-0.2687640488147736,-0.4628683030605316,-0.0537119321525097,-0.1597615629434586,0.0528527684509754,-0.3485085070133209,0.1395110934972763,0.0642972290515900,0.0323829315602779) * MODEL1_texOff(vec2(1,0));
res += mat4(0.0066713397391140,-0.0482029877603054,-0.1707276403903961,-0.1001396998763084,0.0539822019636631,-0.1624453216791153,0.4913550019264221,0.3687861263751984,0.0491421781480312,0.1311376541852951,0.0992425829172134,-0.4636098444461823,-0.3415873646736145,-0.0153833786025643,-0.0270162131637335,-0.0935514941811562) * MODEL2_texOff(vec2(1,0));
res += mat4(-0.1738258153200150,0.0458541549742222,-0.0653749182820320,-0.0156540926545858,-0.0357586294412613,-0.1486178338527679,0.1798035055398941,-0.1310307979583740,0.0783249065279961,-0.0261360015720129,-0.1047066971659660,0.3385537564754486,-0.0339452810585499,0.2299628853797913,-0.1408322304487228,-0.0352708548307419) * MODEL1_texOff(vec2(1,1));
res += mat4(0.0463018082082272,0.0565674640238285,-0.0538956597447395,-0.2354862987995148,0.0297824125736952,0.0307939313352108,0.1271791011095047,-0.1025698855519295,0.1060482114553452,-0.0703211054205894,-0.0083062350749969,0.0474255047738552,0.0442508421838284,0.1569559425115585,-0.0442709513008595,-0.1188704669475555) * MODEL2_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.7366524934768677,1.0013850927352905,-0.0276311747729778,0.0734841898083687) * min(res, vec4(0.0));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC mapping 4_1
//!BIND MODEL21
//!BIND MODEL22
//!SAVE MODEL1
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(-0.1306160986423492,-0.0808217376470566,-0.2880123555660248,0.0099629526957870);
res += mat4(-0.1033539846539497,0.0541300140321255,-0.0804840475320816,-0.0334571413695812,-0.0264753755182028,0.1118840202689171,0.1186013221740723,-0.0127575425431132,0.2236593365669250,0.0025286162272096,0.0985530614852905,0.0685181617736816,-0.1884875595569611,0.0530862808227539,-0.0482063069939613,0.0375233069062233) * MODEL21_texOff(vec2(-1,-1));
res += mat4(0.1837068796157837,-0.0632847175002098,0.0016613919287920,0.0392861217260361,0.2923883199691772,-0.1713902205228806,0.1907587945461273,0.0550456829369068,0.0644215345382690,-0.1046456992626190,0.0187383033335209,0.0770180150866508,0.1933846622705460,-0.0455715768039227,0.0375007353723049,-0.1053109914064407) * MODEL22_texOff(vec2(-1,-1));
res += mat4(-0.0972480997443199,0.2820451855659485,0.0114549007266760,-0.0954328626394272,0.0706252008676529,0.4829064607620239,-0.6371517181396484,0.0005180989392102,0.3280143439769745,0.0665246024727821,-0.0503116399049759,-0.1261110603809357,0.1114177703857422,-0.2053108513355255,0.1428771317005157,0.3926100134849548) * MODEL21_texOff(vec2(-1,0));
res += mat4(-0.2571723163127899,0.1627264618873596,-0.4940335154533386,-0.1361546218395233,0.0804422944784164,-0.4231885373592377,0.0650202706456184,0.0518481098115444,-0.0502478554844856,-0.1305799931287766,0.1814480125904083,0.0090866927057505,-0.0510044656693935,-0.1691461503505707,0.0922467112541199,-0.0314207412302494) * MODEL22_texOff(vec2(-1,0));
res += mat4(0.1270498335361481,0.0563284493982792,-0.0435525141656399,0.1569847911596298,0.0576847903430462,0.3461692929267883,-0.0325655154883862,-0.2688976824283600,-0.1341977864503860,-0.1382253766059875,0.2293784171342850,-0.1111817285418510,-0.1402447521686554,-0.3257531225681305,0.0598510466516018,0.1008039116859436) * MODEL21_texOff(vec2(-1,1));
res += mat4(0.1698816716670990,0.3491003513336182,-0.1367681026458740,-0.1165873408317566,-0.2091718912124634,-0.1487034261226654,-0.0569749698042870,-0.2100717276334763,0.0404917001724243,-0.1372035890817642,0.0689046755433083,-0.0367818064987659,-0.0325474888086319,-0.0114965448155999,-0.0137249026447535,-0.0279692262411118) * MODEL22_texOff(vec2(-1,1));
res += mat4(-0.0563433989882469,0.0132494345307350,-0.2434540390968323,0.0796563774347305,-0.2109155058860779,0.0387088693678379,-0.0591037571430206,0.0955820381641388,0.4660535752773285,-0.1204202473163605,0.1332369595766068,-0.0285425651818514,-0.3886952698230743,-0.0434980578720570,-0.0849134400486946,0.0802380964159966) * MODEL21_texOff(vec2(0,-1));
res += mat4(0.0412235632538795,0.1571959257125854,0.2050069272518158,-0.1138664111495018,0.1962715685367584,0.0594439841806889,0.0351715497672558,-0.0129811102524400,0.2055217623710632,-0.0647534057497978,0.0373471938073635,0.0877277255058289,-0.5734645724296570,0.1188675239682198,-0.1145943328738213,-0.1182733029127121) * MODEL22_texOff(vec2(0,-1));
res += mat4(-0.2004909217357635,-0.4817073047161102,0.5596802830696106,-0.0327854752540588,0.0989314392209053,0.4127818942070007,0.7265836596488953,-0.2692042589187622,0.5195841789245605,-0.2357539832592010,-0.3819393217563629,0.1755530238151550,0.6578183770179749,0.1075539961457253,-0.2688144743442535,0.3242723941802979) * MODEL21_texOff(vec2(0,0));
res += mat4(-0.3221310675144196,0.2978510260581970,0.2269985526800156,-0.3184116482734680,0.4845580160617828,0.4407236874103546,0.0099756307899952,-0.3121858239173889,-0.3810067176818848,-0.0553649961948395,0.0202834140509367,0.0409953594207764,0.2532750964164734,0.2731618583202362,0.1237529441714287,0.0134243080392480) * MODEL22_texOff(vec2(0,0));
res += mat4(0.1835541725158691,0.0549701862037182,-0.1749316602945328,-0.2030028849840164,0.0263462308794260,0.2781440317630768,0.0372458845376968,0.3643021881580353,-0.4047883749008179,0.0660117194056511,0.4863115549087524,-0.2024163603782654,-0.6403482556343079,0.2765505611896515,0.1417075097560883,0.5064445734024048) * MODEL21_texOff(vec2(0,1));
res += mat4(0.6106975078582764,-0.1570862233638763,-0.3223383128643036,-0.2497926801443100,-0.4854303300380707,0.0132978223264217,-0.0609334111213684,0.1285556703805923,-0.1412864029407501,-0.1379042416810989,-0.0258826259523630,0.1357705891132355,-0.1285902857780457,-0.0577826797962189,0.0550044551491737,0.1717510819435120) * MODEL22_texOff(vec2(0,1));
res += mat4(0.1389609426259995,0.0835867226123810,0.0309768319129944,-0.0278116948902607,-0.0390677824616432,-0.0111810686066747,-0.0025318188127130,0.0069569633342326,0.0347319357097149,0.0191543344408274,0.0314339138567448,-0.0228427499532700,0.0416300334036350,0.0249234102666378,0.1210031509399414,0.1142473593354225) * MODEL21_texOff(vec2(1,-1));
res += mat4(0.0607251487672329,0.0386395826935768,-0.0219341218471527,-0.1102298423647881,0.1487188935279846,0.0602982006967068,-0.0280748903751373,-0.0211924221366644,0.0042894422076643,-0.0269144997000694,0.0814756453037262,-0.0314031280577183,-0.0213186051696539,-0.1362965404987335,0.0382767543196678,-0.0669511556625366) * MODEL22_texOff(vec2(1,-1));
res += mat4(-0.2397561967372894,0.3023172020912170,-0.2398054003715515,0.0041919997893274,-0.1016605198383331,-0.1521034836769104,-0.1526568531990051,0.0272433310747147,0.0741761848330498,0.1116370111703873,0.1149727106094360,-0.0809784531593323,-0.1448147594928741,-0.0943927690386772,-0.0086280042305589,0.1243222951889038) * MODEL21_texOff(vec2(1,0));
res += mat4(-0.0469366572797298,-0.1655988991260529,-0.1029584184288979,-0.1347874104976654,0.2064601778984070,0.0521226711571217,-0.1366733759641647,-0.0041872998699546,0.1077186539769173,0.0184442866593599,-0.2309073060750961,-0.1637075096368790,-0.0417953692376614,-0.3190860450267792,-0.1593534499406815,0.0136412177234888) * MODEL22_texOff(vec2(1,0));
res += mat4(0.1698798984289169,0.0232755411416292,-0.0876034423708916,-0.3008348643779755,0.0789884999394417,0.0034748215693980,-0.0064704762771726,0.0057828431017697,-0.0190630126744509,-0.0334153175354004,-0.0195646341890097,0.0105131156742573,0.0995147302746773,-0.3130289018154144,-0.0724022984504700,0.0113303456455469) * MODEL21_texOff(vec2(1,1));
res += mat4(-0.0027791252359748,-0.0193455871194601,-0.0415000133216381,0.0568981170654297,-0.2745247483253479,0.1222846284508705,0.1899162530899048,0.1067754998803139,-0.0561975166201591,-0.1500336527824402,0.0526139959692955,-0.3491798937320709,-0.0692384615540504,-0.0307095069438219,0.0498757846653461,0.0019003645284101) * MODEL22_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.1552927196025848,0.0782765746116638,0.7966942191123962,-1.1619627475738525) * min(res, vec4(0.0));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC mapping 4_2
//!BIND MODEL21
//!BIND MODEL22
//!SAVE MODEL2
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(-0.1443098634481430,-0.1343899369239807,-0.0624338127672672,-0.1094277128577232);
res += mat4(-0.0689977407455444,-0.1693786680698395,0.0109281269833446,0.0609922930598259,0.0296908002346754,0.1195700988173485,-0.0694077461957932,0.0971287414431572,0.0253518298268318,0.1213042959570885,0.0703809782862663,0.0055739870294929,-0.1595942378044128,-0.1336689442396164,-0.0622441768646240,-0.0428023114800453) * MODEL21_texOff(vec2(-1,-1));
res += mat4(0.0860001668334007,-0.0226618759334087,0.1602241247892380,0.0431661494076252,0.1526461094617844,0.2752982378005981,0.0960300788283348,-0.0536719262599945,-0.0171773489564657,0.0457364916801453,-0.0360932648181915,-0.0397153608500957,-0.0277090407907963,0.0729821547865868,-0.0145150292664766,0.0252893269062042) * MODEL22_texOff(vec2(-1,-1));
res += mat4(-0.1407091915607452,-0.4007499516010284,-0.0302001200616360,-0.0606933943927288,-0.2960600554943085,-0.2263117432594299,0.0721478462219238,-0.4578711986541748,0.0960150733590126,-0.1606502830982208,0.2444226741790771,0.0000882153908606,0.1472496986389160,0.3256779909133911,-0.2132861614227295,0.0339313484728336) * MODEL21_texOff(vec2(-1,0));
res += mat4(-0.1477648764848709,-0.1487885862588882,-0.1973863691091537,0.0717295333743095,0.0843430235981941,0.6259996294975281,-0.1214931011199951,-0.1274987608194351,0.2359549105167389,0.3002171218395233,-0.0825233608484268,-0.0157950688153505,0.0706149637699127,0.1762917637825012,-0.0611497573554516,-0.0859689489006996) * MODEL22_texOff(vec2(-1,0));
res += mat4(0.0174895934760571,-0.0567042417824268,0.0409146919846535,0.0258173532783985,0.1421577036380768,0.1234543323516846,-0.1721662431955338,0.1492216140031815,0.1100751459598541,0.0501539446413517,0.1100447699427605,-0.1086079254746437,-0.0608497932553291,0.0087817469611764,0.0714464113116264,-0.1285197436809540) * MODEL21_texOff(vec2(-1,1));
res += mat4(-0.0017177806003019,-0.1463395059108734,-0.1085453778505325,0.1650195866823196,0.0813829153776169,0.1102061793208122,-0.0578421875834465,-0.0232036896049976,-0.1239888817071915,0.0155465165153146,0.1079114526510239,-0.0420837886631489,-0.0775837749242783,0.0148941157385707,-0.0502299368381500,-0.0654754191637039) * MODEL22_texOff(vec2(-1,1));
res += mat4(0.0918162539601326,0.0440697595477104,-0.0515748932957649,0.0417411290109158,0.0353216230869293,0.1535954177379608,0.0439723692834377,-0.1288845241069794,0.1076577678322792,-0.1306740194559097,0.0715952813625336,-0.0681907683610916,-0.3798767924308777,0.1023928597569466,-0.0970670804381371,0.0077168666757643) * MODEL21_texOff(vec2(0,-1));
res += mat4(0.0634560957551003,-0.0550306066870689,0.2073986232280731,0.0520241297781467,0.1162287592887878,-0.2218665480613708,0.3199682831764221,0.0606246069073677,-0.0058511858806014,-0.0667045339941978,-0.0449917949736118,0.0707788690924644,-0.3323366343975067,-0.0763893201947212,-0.0997853428125381,-0.1181001588702202) * MODEL22_texOff(vec2(0,-1));
res += mat4(-0.3101258873939514,0.2616009712219238,0.0584651045501232,0.1656491309404373,-0.0069236233830452,0.2573371529579163,-0.1793291717767715,-0.2718756198883057,0.0953581258654594,0.0524105131626129,0.1183085516095161,0.0583294369280338,0.5036848187446594,-0.5763167142868042,-0.2119628041982651,-0.3140562772750854) * MODEL21_texOff(vec2(0,0));
res += mat4(-0.2497755438089371,-0.0146329319104552,-0.2741575539112091,0.2459975033998489,0.3562706708908081,-0.6528629064559937,-0.4287456274032593,0.2055913358926773,0.1739019453525543,-0.3855968713760376,-0.0958273336291313,-0.7066691517829895,0.2365748286247253,-0.3046728968620300,-0.2590373754501343,-0.0496727414429188) * MODEL22_texOff(vec2(0,0));
res += mat4(-0.0844531357288361,-0.0321611948311329,-0.0951840654015541,0.0577518045902252,-0.1606003493070602,0.2776086628437042,-0.1355003118515015,-0.0880064144730568,-0.1277643740177155,-0.0514567233622074,0.1522682905197144,-0.1040910631418228,-0.2767944037914276,-0.1452194601297379,0.0089118303731084,0.0231996178627014) * MODEL21_texOff(vec2(0,1));
res += mat4(0.2603267133235931,0.0167464651167393,-0.2064073234796524,0.1782064288854599,0.4890212416648865,0.0559245310723782,0.1221160590648651,-0.0202587731182575,-0.4056585729122162,-0.1839511841535568,0.2775998413562775,0.0024275144096464,-0.2624500989913940,-0.0619418807327747,0.0153478365391493,0.0123427547514439) * MODEL22_texOff(vec2(0,1));
res += mat4(0.0816635638475418,-0.0134946266189218,0.0594766475260258,-0.0551253929734230,0.0134431896731257,-0.0652195811271667,-0.0563635528087616,-0.0066532371565700,-0.0004114551993553,0.0105680683627725,0.1324467360973358,0.0467248968780041,0.0301312971860170,-0.1073397025465965,-0.0363437235355377,-0.0474153012037277) * MODEL21_texOff(vec2(1,-1));
res += mat4(0.0199097190052271,0.0901319086551666,0.0448978282511234,0.0505443066358566,0.0438878424465656,-0.0494784042239189,0.0724927335977554,-0.0070675504393876,-0.0012125011999160,0.0295279901474714,0.0705125033855438,0.0555334389209747,-0.0403393507003784,-0.1271172016859055,0.0017914215568453,0.1462216079235077) * MODEL22_texOff(vec2(1,-1));
res += mat4(-0.2827299833297729,0.2052399665117264,0.0042732120491564,-0.3969024717807770,-0.0782120972871780,0.1960176974534988,-0.0675340741872787,0.0027962317690253,0.0516129024326801,-0.0352642722427845,0.0546326488256454,0.0065340655855834,-0.1062376946210861,0.1364430636167526,-0.0536947809159756,0.2098117172718048) * MODEL21_texOff(vec2(1,0));
res += mat4(0.0045875865034759,0.2162927240133286,-0.2158576399087906,-0.0047327815555036,0.1251590698957443,0.1279677897691727,-0.1188964918255806,0.0328494384884834,0.0076038073748350,-0.0561547242105007,0.0335608273744583,0.4332321286201477,0.0021786799188703,0.0844521671533585,-0.2102309316396713,-0.0189208015799522) * MODEL22_texOff(vec2(1,0));
res += mat4(0.0933093801140785,0.1548244059085846,-0.0598701611161232,0.0357220247387886,-0.1141726672649384,0.0536412484943867,-0.0159156844019890,-0.0445508137345314,0.1883231997489929,-0.1547038406133652,0.0530619807541370,0.0059371814131737,0.0602529086172581,-0.0435577929019928,0.0083390390500426,0.0191930737346411) * MODEL21_texOff(vec2(1,1));
res += mat4(-0.0351041629910469,0.2119503468275070,-0.0841927304863930,0.0079463515430689,0.0683520361781120,-0.1657009869813919,0.0611055232584476,-0.0063667562790215,0.0330024957656860,-0.1810818463563919,0.0872574150562286,0.1485669612884521,-0.1305806934833527,0.0041402997449040,0.0223289318382740,-0.0141495745629072) * MODEL22_texOff(vec2(1,1));
res = max(res, vec4(0.0)) + vec4(0.5769761204719543,0.1716064810752869,-0.0821026712656021,0.2092144042253494) * min(res, vec4(0.0));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC sub-band residuals 1
//!BIND MODEL1
//!BIND MODEL2
//!BIND FEATURE1
//!SAVE RES1
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(0.0245648548007011,-0.4467784762382507,0.0197526942938566,-0.0110000418499112);
res += mat4(0.0302665308117867,-0.9262221455574036,-0.1161134764552116,-0.0506900474429131,0.2716045379638672,-0.0485871583223343,0.0044713355600834,-0.4274623394012451,0.0749531090259552,-0.3700785338878632,0.0350039415061474,-0.0540786534547806,-0.0607390031218529,-0.8019900321960449,0.0923245251178741,0.1258827745914459) * MODEL1_texOff(0);
res += mat4(-0.0649135261774063,0.0815236791968346,0.0067334296181798,0.1277425885200500,-0.0051357815973461,-0.1485908329486847,0.0074226572178304,0.0050623500719666,0.0588018335402012,-0.0692552924156189,0.1288725286722183,-0.0989386290311813,0.0427936837077141,0.0967708528041840,-0.0455632135272026,-0.0711275041103363) * MODEL2_texOff(0);
res += FEATURE1_texOff(0);
res = max(res, vec4(0.0)) + vec4(0.9927186965942383,0.0570580027997494,1.3226752281188965,1.0069466829299927) * min(res, vec4(0.0));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC sub-band residuals 2
//!BIND MODEL1
//!BIND MODEL2
//!BIND FEATURE2
//!SAVE RES2
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(-0.0425243787467480,-0.3715015351772308,-0.0256227850914001,-0.2774516046047211);
res += mat4(0.0238118842244148,0.0295480657368898,-0.0066418983042240,0.1021223962306976,-0.0568209178745747,-0.4355100393295288,-0.2700522541999817,-0.2060186564922333,-0.0689613372087479,-0.1689691990613937,-0.0306748505681753,-0.2461252212524414,-0.0057375836186111,-0.1892303228378296,-0.0285871494561434,-0.5032613277435303) * MODEL1_texOff(0);
res += mat4(0.5463213324546814,0.0972800329327583,0.0307560767978430,0.0678058937191963,-0.0356063023209572,-0.7013865113258362,0.1890443563461304,-0.1036657467484474,-0.1745826154947281,-0.2942218780517578,-0.0485423319041729,-0.2983124554157257,-0.0524431839585304,-0.3261034786701202,0.3217246532440186,0.1958018541336060) * MODEL2_texOff(0);
res += FEATURE2_texOff(0);
res = max(res, vec4(0.0)) + vec4(0.1391339898109436,0.0960328355431557,0.6235341429710388,0.1177272796630859) * min(res, vec4(0.0));
return res;
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!DESC sub-pixel convolution 1
//!BIND RES1
//!BIND RES2
//!SAVE SUBCONV1
//!COMPONENTS 4
vec4 hook()
{
vec4 res = vec4(0.2010385394096375,0.2058132737874985,0.1918809115886688,0.1961363703012466);
res += mat4x4(-0.0005980331334285,-0.0095877395942807,-0.0149448839947581,-0.0026380482595414,0.0320665836334229,-0.0706205591559410,-0.0054677254520357,0.0215112231671810,-0.0025710910558701,-0.0000433265340689,0.0044494951143861,-0.0034823501482606,-0.0050858515314758,0.0109513988718390,0.0208286065608263,-0.0032168829347938) * RES1_texOff(vec2(-1,-1));
res += mat4x4(-0.0145305208861828,0.0246876608580351,-0.0038286084309220,-0.0033089490607381,-0.0920709222555161,-0.0767898634076118,0.0012083095498383,-0.0751532614231110,0.0001302754972130,-0.0107085108757019,-0.0010383903281763,-0.0059571005403996,0.0809685289859772,0.0414833538234234,0.0227938480675220,-0.0211347509175539) * RES2_texOff(vec2(-1,-1));
res += mat4x4(0.0160999298095703,0.0364215746521950,-0.0377063788473606,-0.0449111759662628,-0.0476365163922310,0.1522845029830933,-0.0131391752511263,-0.0476671792566776,-0.0378389135003090,0.0235454943031073,0.0224007442593575,-0.0010372076649219,-0.0089435689151287,-0.0293026417493820,0.0274190884083509,0.0469092652201653) * RES1_texOff(vec2(-1,0));
res += mat4x4(0.0297575183212757,-0.0132508194074035,-0.0044682323932648,-0.0096222748979926,0.2525918781757355,0.1873829364776611,-0.5599535703659058,-0.2372044622898102,0.0033207221422344,0.0256173480302095,0.0294605866074562,0.0323960892856121,-0.1679904460906982,-0.1278967708349228,0.3168168365955353,0.1978507637977600) * RES2_texOff(vec2(-1,0));
res += mat4x4(-0.0047590560279787,-0.0149335600435734,0.0033453819341958,-0.0012247267877683,0.1112466752529144,0.0147760482504964,0.0031189601868391,0.0391573049128056,-0.0028154491446912,-0.0036881719715893,-0.0116015253588557,-0.0037573333829641,0.0047581391409039,0.0071071563288569,-0.0033221673220396,0.0004882142529823) * RES1_texOff(vec2(-1,1));
res += mat4x4(-0.0025197160430253,-0.0018677815096453,0.0038254233077168,0.0041981274262071,-0.1321131736040115,-0.0494364202022552,0.0760654658079147,-0.1386690139770508,-0.0016222692793235,-0.0060105528682470,0.0010201989207417,0.0092753591015935,-0.0194614846259356,0.0087382243946195,-0.0606758072972298,0.0156162241473794) * RES2_texOff(vec2(-1,1));
res += mat4x4(-0.0073722628876567,0.0012844242155552,0.0241398401558399,-0.0075527969747782,-0.0865194946527481,-0.0610522404313087,0.0289319511502981,-0.0994452014565468,0.0281447004526854,-0.0250582899898291,0.0044891634024680,-0.0246205236762762,0.0112307453528047,-0.0010844616917893,-0.0223584957420826,0.0177635718137026) * RES1_texOff(vec2(0,-1));
res += mat4x4(-0.0585863515734673,0.0953190475702286,-0.0555586628615856,0.1033507287502289,0.1560877263545990,-0.0690897777676582,-0.0341389514505863,-0.0661668032407761,0.0531073249876499,-0.0266165956854820,-0.0203275382518768,0.0017760475166142,-0.1300747394561768,0.1810652017593384,0.0381597876548767,0.1397419273853302) * RES2_texOff(vec2(0,-1));
res += mat4x4(0.6259804368019104,0.6062518954277039,0.5450409054756165,0.5966195464134216,-0.0423948727548122,0.0760537460446358,-0.0113651463761926,0.3007817566394806,-0.3218322694301605,0.2713021934032440,-0.3143473267555237,0.2303840517997742,0.3493050038814545,0.3590726852416992,0.4138027429580688,0.3391666412353516) * RES1_texOff(vec2(0,0));
res += mat4x4(0.0790478289127350,-0.0978994593024254,0.0779844969511032,-0.0823706611990929,0.0094470111653209,0.1671760678291321,0.1201528310775757,-0.2016288936138153,0.3667598366737366,0.3651430010795593,-0.3612343966960907,-0.2978236973285675,-0.4231655597686768,0.0091423410922289,-0.1918412446975708,0.4224558770656586) * RES2_texOff(vec2(0,0));
res += mat4x4(-0.0186564289033413,0.0274957418441772,-0.0064405309967697,0.0056951809674501,0.4864942431449890,-0.2563461959362030,0.4357284605503082,-0.2976118028163910,0.0374982468783855,0.0167757049202919,0.0305800959467888,0.0232830215245485,0.0138373551890254,-0.0191283021122217,0.0032355054281652,0.0055057541467249) * RES1_texOff(vec2(0,1));
res += mat4x4(-0.0276355985552073,0.0048149987123907,-0.0251619722694159,-0.0057246969081461,0.0271473955363035,-0.0042668608948588,-0.0594691745936871,0.2255926281213760,-0.0203660242259502,0.0721646770834923,0.0137230781838298,-0.0650938376784325,-0.3049557507038116,0.2035628110170364,-0.2509683668613434,0.1962853819131851) * RES2_texOff(vec2(0,1));
res += mat4x4(0.0109980758279562,-0.0053752651438117,-0.0112550277262926,0.0024017230607569,0.0362104885280132,0.0084348218515515,-0.0106990104541183,-0.0207723993808031,-0.0014961160486564,0.0066790678538382,0.0028113177977502,0.0025022011250257,-0.0093937022611499,0.0016421369509771,0.0035362334456295,-0.0058064293116331) * RES1_texOff(vec2(1,-1));
res += mat4x4(0.0138889988884330,-0.0078343702480197,0.0061464929021895,0.0202130675315857,-0.0257590841501951,-0.0366640128195286,0.0250097587704659,-0.0498071312904358,-0.0103149358183146,-0.0001786737266229,-0.0099909817799926,0.0062733208760619,0.0131437368690968,-0.0005469865864143,-0.0388854071497917,0.0612070746719837) * RES2_texOff(vec2(1,-1));
res += mat4x4(0.0052813654765487,0.0215748809278011,0.0107395220547915,-0.0079439217224717,0.0382786765694618,0.0697424262762070,-0.0415962152183056,0.0657853558659554,0.0209470037370920,-0.0218399092555046,-0.0447359494864941,0.0407319553196430,-0.0040902681648731,-0.0196106657385826,-0.0018554026028141,0.0203906055539846) * RES1_texOff(vec2(1,0));
res += mat4x4(-0.0106181986629963,0.0084018819034100,0.0131329754367471,-0.0198754761368036,0.1117177084088326,0.0990846082568169,-0.0732304081320763,0.0163581725209951,-0.0648830309510231,-0.0451613292098045,0.0206844564527273,0.0031441387254745,-0.0106161693111062,-0.0567689687013626,0.0782861113548279,-0.0306094046682119) * RES2_texOff(vec2(1,0));
res += mat4x4(0.0012452082009986,-0.0026056850329041,-0.0096226977184415,-0.0037850935477763,-0.0190967041999102,0.0534373670816422,0.1599360853433609,0.0834670960903168,-0.0070255175232887,0.0012873009545729,0.0030876772943884,-0.0093916896730661,-0.0033529615029693,0.0043485122732818,0.0089034689590335,-0.0067489291541278) * RES1_texOff(vec2(1,1));
res += mat4x4(0.0004713654634543,-0.0034161377698183,-0.0026913962792605,0.0053522582165897,-0.0040974905714393,0.0273330621421337,-0.0333138220012188,-0.0701237097382545,0.0082997502759099,-0.0183656588196754,-0.0122841577976942,-0.0052855615504086,-0.0023795007728040,-0.0438593104481697,-0.1101513057947159,-0.0182559806853533) * RES2_texOff(vec2(1,1));
return vec4(res);
}
//!HOOK LUMA
//!WHEN OUTPUT.w LUMA.w / 1.300 > OUTPUT.h LUMA.h / 1.300 > *
//!WIDTH LUMA.w 2 *
//!HEIGHT LUMA.h 2 *
//!DESC aggregation
//!BIND SUBCONV1
vec4 hook()
{
vec2 fcoord = fract(SUBCONV1_pos * SUBCONV1_size);
vec2 base = SUBCONV1_pos + (vec2(0.5) - fcoord) * SUBCONV1_pt;
ivec2 index = ivec2(fcoord * vec2(2));
vec4 res = SUBCONV1_tex(base);
return vec4(res[index.x * 2 + index.y], 0, 0, 1);
}
+19
View File
@@ -0,0 +1,19 @@
Copyright (c) 2021 Advanced Micro Devices, Inc. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+12
View File
@@ -0,0 +1,12 @@
# Third-party shader code
Used by the Picture settings (picture enhancement passes).
| File | From | License |
|---|---|---|
| `ffx_a.h`, `ffx_fsr1.h` | AMD FidelityFX Super Resolution 1, https://github.com/GPUOpen-Effects/FidelityFX-FSR (`ffx-fsr/`) | MIT, see `LICENSE-FidelityFX-FSR.txt` |
| `FSRCNNX_x2_8-0-4-1.glsl` | FSRCNNX by igv, https://github.com/igv/FSRCNN-TensorFlow release 1.1 | LGPL-3.0 (header of the file) |
The files are unchanged. `enhance_easu.comp` includes the FSR headers;
`tools/gen_fsrcnnx.js` turns the FSRCNNX mpv shader into the compute passes in
`../fsrcnnx/`.
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+38 -1
View File
@@ -111,7 +111,7 @@ float samples).
```json
{
"version": "1.0",
"version": "1.1",
"backend": "h264",
"width": 1920,
"height": 1080,
@@ -120,6 +120,8 @@ float samples).
"fps": 60.3,
"kbps": 1008.8,
"clients": 1,
"viewers": 1,
"bitrate": 50000000,
"recording": false,
"recording_name": "",
"recording_frames": 0,
@@ -137,6 +139,8 @@ float samples).
time since the server last (re)started, so they overcount after an encoder
reopen. The app shows its own rate over the last 2 s instead.
`clients` counts every open request socket (including status polling).
`viewers` is how many people are watching: 1 while the current viewer has a
stream open, else 0 (see [One viewer at a time](#one-viewer-at-a-time)).
## Recording
@@ -190,3 +194,36 @@ Response body shape: `{"message":"..."}` over `HTTP/1.1 <code> Profile`.
| Receive timeout | 1 s |
| Max video frame | 2 MiB |
| Max audio packet | 64 KiB |
## One viewer at a time
`/frames`, `/audio` and `/rtp/video` belong to one viewer at a time. A viewer
is named by `?viewer=<id>` (letters, digits, `-`, `_`; the dashboard makes a
new one per page) or, without it, by the client's IP address (the desktop app).
- A different viewer connecting takes over: every stream of the current viewer
ends.
- A viewer that was pushed out is refused with **HTTP 409** while the one that
pushed it is still watching (or reconnecting within 5 s), so two clients that
reconnect on their own can't take turns kicking each other.
- `&take=1` takes over anyway (the dashboard's **Watch here** button).
- Once the current viewer has been gone for 5 s, anyone can connect again.
## Bitrate
The encoder runs at **50 Mbit/s** (`bitrate` in `status.json`; a `bitrate=N`
start argument changes it). In a busy game that comes out at about 35-38
Mbit/s; a calm home screen needs far less. Measured over Wi-Fi (about 40 s
of GTA each): 20 Mbit/s looked blocky in fast motion; 50 was as smooth as 20
on a clean stretch, and hitched more only when the Wi-Fi itself was choppy.
It is set once, before `Start`, and can't change while Glint runs (tested on a
PS5, 13.60):
- `SetVideoBitrate` on a running session returns ok, but every `ReadVideo`
after it fails with 0x80c78000 and the encoder stays locked until a restart.
- Closing the session cleanly (Stop, Close, arbitrator cleared) and opening a
new one gets through `OpenVideo` and `SetVideoBitrate`, then `Start` is
refused with 0x80c78000. The encoder takes one capture session per boot.
- Every frame is a reference frame (`nal_ref_idc` 2), so a cap after the
encoder can't drop frames without breaking the picture.
+5 -5
View File
@@ -36,7 +36,7 @@ over any other payload's folder:
```bash
curl -s --ftp-create-dirs -T payload/build/glint-payload.elf \
ftp://$PS5:2121/data/pldmgr/payloads/local/glint/Glint-1.0-ps5.elf
ftp://$PS5:2121/data/pldmgr/payloads/local/glint/Glint-1.1-ps5.elf
```
Payload Manager only accepts files under its payload tree and a name shaped like
@@ -46,7 +46,7 @@ After uploading, read the file back and compare the hash before loading — an
upload interrupted by the console sleeping can leave a truncated file:
```bash
curl -s ftp://$PS5:2121/data/pldmgr/payloads/local/glint/Glint-1.0-ps5.elf -o check.elf
curl -s ftp://$PS5:2121/data/pldmgr/payloads/local/glint/Glint-1.1-ps5.elf -o check.elf
sha256sum payload/build/glint-payload.elf check.elf
```
@@ -54,13 +54,13 @@ sha256sum payload/build/glint-payload.elf check.elf
```bash
curl -s -X POST -H "X-PLDMGR-Request: 1" \
"http://$PS5:8084/loadpayload:/data/pldmgr/payloads/local/glint/Glint-1.0-ps5.elf"
"http://$PS5:8084/loadpayload:/data/pldmgr/payloads/local/glint/Glint-1.1-ps5.elf"
```
The payload shows a banner on the console: "Glint loaded", then
"Glint ready on port 7231" once capture starts. If the encoder is busy it
shows "the PS5 refused to start video capture (0x80c78000)" — wait a minute and
load it again.
shows "the PS5 refused to start video capture (0x80c78000)" — load it again.
This often happens on the first try after the PS5 starts; the second works.
## 4. Validate
+1 -2
View File
@@ -46,7 +46,7 @@ minute between sessions before it will start again.
- **Built-in viewer** for the gallery: recordings play with sound, seek and
volume; screenshots zoom and pan. `--view <file>` opens one directly.
- **One file, no console window**: static exe built as a Windows app; version
1.0 (app and payload).
1.1 (app and payload).
- **Video page**: GPU/CPU decode, GPU/CPU colour conversion, Latency, graphics
info. The top chip shows the fps and Mbit/s actually received over the last 2 s.
@@ -72,7 +72,6 @@ real console stream (the host build's synthetic stream is not a decodable image)
- Re-encoding PC recorder (frame-rate / bitrate options).
- Console recording library in the app (browse/download console recordings).
- Image-quality panel (upscale / sharpen / denoise).
- Plugin manager.
Out of scope: Sony Remote Play and cloud sessions.
Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 MiB

+170 -66
View File
@@ -130,6 +130,9 @@
.b.outline:hover{background:var(--raised)}
.b.danger{border:0;background:var(--live);color:#fff}
.b.danger:hover{filter:brightness(.92)}
.b.primary{border:0;background:var(--primary);color:var(--on-primary)}
.b.primary:hover{background:var(--primary-hover)}
#takeover{margin-top:18px;pointer-events:auto}
.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,10px);padding:10px 16px;border-radius:12px;background:var(--raised);border:1px solid var(--line);box-shadow:0 8px 24px var(--shadow);opacity:0;pointer-events:none;transition:opacity .22s,transform .3s cubic-bezier(.22,1,.36,1);white-space:nowrap}
.toast.show{opacity:1;transform:translate(-50%,0)}
@@ -155,6 +158,7 @@
<h1 id="msgtitle">Connecting to your PS5</h1>
<p id="msgtext">Talking to the Glint payload.</p>
<div class="dots" id="dots" aria-hidden="true"><i></i><i></i><i></i></div>
<button class="b primary" id="takeover" hidden>Watch here</button>
</div>
</div>
@@ -165,7 +169,6 @@
<span class="muted" id="state">Connecting</span>
<span id="strip" title="Last second of frames. Taller amber bars arrived late." aria-hidden="true"></span>
<span class="mono muted" id="rate"></span>
<span class="muted" id="viewers" style="font-size:13px"></span>
</section>
<nav class="actions" aria-label="Page">
<button class="round glass" id="files" aria-label="Console recordings" title="Console recordings">
@@ -258,7 +261,15 @@ function toast(t){ const el=$("#toast"); el.textContent=t; el.classList.add("sho
function waiting(title, text, busy){
document.body.classList.add("waiting");
$("#msgtitle").textContent=title; $("#msgtext").textContent=text; $("#dots").style.display=busy?"flex":"none";
$("#takeover").hidden=true;
}
// One viewer at a time: the console streams to the newest page (or Glint app)
// and ends everyone else's stream. This page's id tells the console who it is.
const VIEWER=Array.from(crypto.getRandomValues(new Uint8Array(8)),b=>b.toString(16).padStart(2,"0")).join("");
let takeOver=false;
class TakenOver extends Error {}
function streamUrl(path){ return path+"?viewer="+VIEWER+(takeOver?"&take=1":""); }
function setState(kind, text){
statusEl.className="status glass "+kind; $("#state").textContent=text;
}
@@ -348,6 +359,9 @@ function toAvcc(au){ // Annex-B AU -> length-pre
// ---- live video over MSE ------------------------------------------------------
let ms=null, sb=null, ops=[], busy=false, seq=0, dts=0, dur=1500, started=false, haveFrame=false, videoAbort=null;
let keys=[], trimmed=0, lastAsk=-1e9; // keyframe times (s), how far video was dropped
let lags=[]; // recent lead of buffered video over playback (s)
const TARGET_LAG=0.022; // ~1.3 frames: lower stalls on Wi-Fi bursts
function enqueue(op){ ops.push(op); drain(); }
function drain(){
@@ -355,7 +369,15 @@ function drain(){
const op=ops.shift(); if(!op) return;
busy=true;
try{ if(op.t==="a") sb.appendBuffer(op.b); else sb.remove(op.s,op.e); }
catch(e){ busy=false; if(e.name==="QuotaExceededError"){ try{ const b=video.buffered; if(b.length) sb.remove(b.start(0), Math.max(b.start(0), video.currentTime-2)); }catch(_){} } }
catch(e){ busy=false; if(e.name==="QuotaExceededError"){ ops.unshift(op); const cut=keyBefore(video.currentTime-1); if(cut>trimmed){ trimmed=cut; try{ busy=true; sb.remove(0,cut); }catch(_){ busy=false; } } else askKey(); } }
}
// Newest keyframe at or before t. Video may only be dropped up to a keyframe:
// removing the one a frame depends on drops every frame after it too.
function keyBefore(t){ let k=-1; for(const x of keys) if(x<=t) k=x; return k; }
function askKey(){
const now=performance.now(); if(now-lastAsk<3000) return; lastAsk=now;
fetch("/video/keyframe",{method:"POST"}).catch(()=>{});
}
async function startVideo(cfg){
@@ -366,7 +388,7 @@ async function startVideo(cfg){
catch(e){ waiting("This browser can't play the stream","It cannot decode the console's H.264 picture. Use the Glint app for Windows.",false); return false; }
sb.addEventListener("updateend",()=>{ busy=false; drain(); });
sb.addEventListener("error",()=>{ busy=false; });
seq=0; dts=0; started=false; paceInit=false;
seq=0; dts=0; started=false; paceInit=false; keys=[]; trimmed=0; lags=[]; refill=false;
dur=Math.round(TS/(cfg.fps||60));
enqueue({t:"a", b:initSegment(hexToBytes(cfg.sps), hexToBytes(cfg.pps), cfg.width, cfg.height)});
return true;
@@ -374,43 +396,81 @@ async function startVideo(cfg){
function liveEdge(){
const b=video.buffered; if(!b.length) return;
const end=b.end(b.length-1);
if(end-video.currentTime>2.0) video.currentTime=end-0.25; // catch up to live
if(video.currentTime-b.start(0)>8) enqueue({t:"r", s:b.start(0), e:video.currentTime-4});
if(video.paused) video.play().catch(()=>{});
const ct=video.currentTime, lag=b.end(b.length-1)-ct, last=keys.length?keys[keys.length-1]:0;
// The server sends keyframes only on connect or on request (each is a latency
// spike on Wi-Fi), so ask for one now and then: old video can only go up to one.
// Every 10 s keeps the buffer near 12 s (~55 MB at 38 Mbit/s), well inside
// what browsers allow (phones and Safari allow much less than desktop Chrome).
if(ct-last>10) askKey();
if(lag>3){ // far behind (hidden tab, a stall)
if(last>ct+0.5) video.currentTime=last; // jump to the newest keyframe
else askKey();
}
// Keep the smallest lead over the last half second near TARGET_LAG: play a
// little faster while there's more buffered, a little slower when it runs thin.
lags.push(lag); if(lags.length>60) lags.shift();
const low=Math.min(...lags);
const rate=Math.round(100*(1+Math.max(-0.03,Math.min(0.15,(low-TARGET_LAG)*2))))/100;
if(video.playbackRate!==rate) video.playbackRate=rate;
const cut=keyBefore(ct-2);
if(cut-trimmed>4){ enqueue({t:"r", s:0, e:cut}); trimmed=cut; keys=keys.filter(k=>k>=cut); }
// After running dry, let a little video build up before playing again: the
// browser would restart on the first frame and run dry once per frame
// through the rest of a Wi-Fi gap, a stutter instead of one short hitch.
if(refill && lag>=REFILL_LAG) refill=false;
if(video.paused && !refill) video.play().catch(()=>{});
}
let refill=false;
const REFILL_LAG=0.045;
video.addEventListener("waiting",()=>{ if(started && !refill){ refill=true; video.pause(); } });
async function pumpFrames(signal){
const res=await fetch("/frames",{cache:"no-store",signal});
// Reads [u32 len][u32 pts][payload] records off a stream and hands each one on as
// soon as it is complete. Only a partial record is ever copied.
async function readFramed(res,onRecord){
const reader=res.body.getReader();
let buf=new Uint8Array(0);
const grow=(a,b)=>{ const n=new Uint8Array(a.length+b.length); n.set(a); n.set(b,a.length); return n; };
let buf=new Uint8Array(0), off=0;
for(;;){
const {value,done}=await reader.read();
if(done) break;
buf=grow(buf,value);
for(;;){
if(buf.length<8) break;
const dv=new DataView(buf.buffer,buf.byteOffset,8);
const len=dv.getUint32(0), pts=dv.getUint32(4);
if(buf.length<8+len) break;
const unit=buf.slice(8,8+len);
buf=buf.slice(8+len);
pace(pts);
const {data,idr,vcl}=toAvcc(unit);
if(!vcl) continue;
if(!started && !idr) continue; // begin on an IDR
started=true;
enqueue({t:"a", b:mediaSegment(data,idr,dts,dur,seq++)});
dts+=dur;
if(!haveFrame && video.videoWidth){ haveFrame=true; document.body.classList.remove("waiting"); wake(); }
liveEdge();
if(done) return;
if(off<buf.length){ const n=new Uint8Array(buf.length-off+value.length); n.set(buf.subarray(off)); n.set(value,buf.length-off); buf=n; }
else buf=value;
off=0;
while(buf.length-off>=8){
const dv=new DataView(buf.buffer,buf.byteOffset+off,8), len=dv.getUint32(0);
if(buf.length-off<8+len) break;
onRecord(buf.subarray(off+8,off+8+len),dv.getUint32(4));
off+=8+len;
}
}
}
async function pumpFrames(signal){
const res=await fetch(streamUrl("/frames"),{cache:"no-store",signal});
if(res.status===409) throw new TakenOver();
takeOver=false;
await readFramed(res,(unit,pts)=>{
pace(pts);
const {data,idr,vcl}=toAvcc(unit);
if(!vcl) return;
if(!started && !idr) return; // begin on an IDR
started=true;
if(idr) keys.push(dts/TS);
enqueue({t:"a", b:mediaSegment(data,idr,dts,dur,seq++)});
dts+=dur;
if(!haveFrame && video.videoWidth){ haveFrame=true; document.body.classList.remove("waiting"); wake(); }
liveEdge();
});
}
// ---- audio: scheduled Web Audio (no AudioWorklet; works over plain HTTP) -------
let audioCtx=null, gain=null, audioOn=false, audioAbort=null, playHead=0, chans=2, rate=48000;
let audioMuted=false, audioWaiting=false; // turned off by the viewer; waiting for a click
// Jitter buffer. Each chunk has an ideal arrival time (first chunk + samples so
// far); how much later it really came is its lateness. Play each chunk at its
// ideal time + the best lateness seen + the 95th percentile of the recent extra
// lateness, so the buffer is just big enough for this network.
let aBase=0, aSamples=0, aBest=0, aBestT=0, aJit=[], aTarget=0.05;
const A_MIN=0.03, A_MAX=0.3;
const volume=$("#volume");
function showVolume(){ volume.style.setProperty("--fill",(volume.value/2)+"%"); if(gain) gain.gain.value=volume.value/100; }
volume.oninput=showVolume; showVolume();
@@ -420,65 +480,82 @@ function audioIcon(on){
: '<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"/><line x1="22" x2="16" y1="9" y2="15"/><line x1="16" x2="22" y1="9" y2="15"/>';
$("#audio").setAttribute("aria-pressed", on ? "true" : "false");
}
async function enableAudio(cfg){
// Sound is on by default. Browsers only let a page play sound after the viewer
// has clicked or pressed a key on it, so until then it waits for the first one.
async function enableAudio(cfg,quiet){
try{
chans=(cfg.audio&&cfg.audio.channels)||2; rate=(cfg.audio&&cfg.audio.rate)||48000;
audioCtx=new (window.AudioContext||window.webkitAudioContext)({sampleRate:rate});
audioCtx=new (window.AudioContext||window.webkitAudioContext)({sampleRate:rate,latencyHint:"interactive"});
gain=audioCtx.createGain(); gain.connect(audioCtx.destination); showVolume();
await audioCtx.resume();
playHead=audioCtx.currentTime+0.15;
audioOn=true; audioIcon(true);
const ctx=audioCtx;
ctx.resume().catch(()=>{});
await new Promise(r=>setTimeout(r,50));
if(ctx.state!=="running"){
audioWaiting=true;
if(!quiet) toast("Click anywhere for sound");
await new Promise(r=>{
const go=()=>ctx.resume().catch(()=>{});
addEventListener("pointerdown",go); addEventListener("keydown",go);
ctx.addEventListener("statechange",()=>{ if(ctx.state!=="suspended"){ removeEventListener("pointerdown",go); removeEventListener("keydown",go); r(); } });
});
setTimeout(()=>{ audioWaiting=false; },300); // that click is not also a "sound off"
}
if(audioCtx!==ctx || ctx.state!=="running") return;
aSamples=0; playHead=0;
audioAbort=new AbortController();
pumpAudio(audioAbort.signal).catch(()=>{});
audioOn=true; audioIcon(true); toast("Sound on");
}catch(e){ toast("Sound is not available in this browser"); }
if(!quiet) toast("Sound on");
}catch(e){ audioOn=false; audioIcon(false); toast("Sound is not available in this browser"); }
}
function disableAudio(){ audioOn=false; audioIcon(false); if(audioAbort) audioAbort.abort(); if(audioCtx) audioCtx.close(); audioCtx=null; gain=null; }
async function pumpAudio(signal){
const res=await fetch("/audio",{cache:"no-store",signal});
const reader=res.body.getReader();
let buf=new Uint8Array(0);
const grow=(a,b)=>{ const n=new Uint8Array(a.length+b.length); n.set(a); n.set(b,a.length); return n; };
for(;;){
const {value,done}=await reader.read();
if(done) break;
buf=grow(buf,value);
for(;;){
if(buf.length<8) break;
const dv=new DataView(buf.buffer,buf.byteOffset,8);
const len=dv.getUint32(0);
if(buf.length<8+len) break;
const pcm=new Float32Array(buf.slice(8,8+len).buffer); // interleaved f32le
buf=buf.slice(8+len);
if(!audioCtx) continue;
const frames=pcm.length/chans;
const ab=audioCtx.createBuffer(chans, frames, rate);
for(let c=0;c<chans;c++){ const ch=ab.getChannelData(c); for(let i=0;i<frames;i++) ch[i]=pcm[i*chans+c]; }
const src=audioCtx.createBufferSource(); src.buffer=ab; src.connect(gain);
const now=audioCtx.currentTime;
if(playHead<now+0.02) playHead=now+0.08; // underrun: nudge forward
if(playHead>now+0.5) playHead=now+0.25; // drift: cap latency
src.start(playHead); playHead+=frames/rate;
}
}
const res=await fetch(streamUrl("/audio"),{cache:"no-store",signal});
if(res.status!==200) return;
await readFramed(res,unit=>{
if(!audioCtx) return;
const pcm=new Float32Array(unit.slice().buffer); // interleaved f32le
const frames=pcm.length/chans, len=frames/rate;
const now=audioCtx.currentTime;
if(!aSamples){ aBase=now; aBest=0; aBestT=now; aJit=[]; }
const ideal=aBase+aSamples/rate, late=now-ideal;
aSamples+=frames;
aBest=Math.min(late,aBest+0.002*(now-aBestT)); aBestT=now; // best case creeps 2 ms/s (clock drift)
aJit.push(late-aBest); if(aJit.length>235) aJit.shift(); // ~5 s of chunks
const s=[...aJit].sort((x,y)=>x-y);
aTarget=Math.max(A_MIN,Math.min(A_MAX,s[Math.floor(0.95*(s.length-1))]+0.01));
const want=ideal+aBest+aTarget; // when this chunk should start
if(playHead<now+0.002) playHead=Math.max(want,now+0.005); // ran dry: restart on schedule
else if(want-playHead>0.025) playHead=want; // too little queued: leave a short gap
else if(playHead-want>0.025) return; // too much queued: skip this chunk (~21 ms)
const ab=audioCtx.createBuffer(chans, frames, rate);
for(let c=0;c<chans;c++){ const ch=ab.getChannelData(c); for(let i=0;i<frames;i++) ch[i]=pcm[i*chans+c]; }
const src=audioCtx.createBufferSource(); src.buffer=ab; src.connect(gain);
src.start(playHead); playHead+=len;
});
}
// ---- status + controls --------------------------------------------------------
async function poll(){
try{
const s=await (await fetch("/status.json",{cache:"no-store"})).json();
if(s.frames>0) setState("live", s.height?`${s.height}p${Math.round(s.fps||60)}`:"Live");
if(elsewhere) setState("failed","Watching elsewhere");
else if(s.frames>0) setState("live", s.height?`${s.height}p${Math.round(s.fps||60)}`:"Live");
else setState("connecting","Starting");
$("#rate").textContent=((s.kbps||0)/1000).toFixed(1)+" Mbit/s";
$("#viewers").textContent=(s.clients||0)+" watching";
const r=$("#rec"); r.classList.toggle("on",!!s.recording);
$("#reclabel").textContent = s.recording ? clock(s.recording_seconds||0) : "Record on console";
r.title = s.recording ? "Stop the console recording" : "Record on the console's storage";
}catch(e){ setState("failed","Can't reach the console"); $("#rate").textContent=""; $("#viewers").textContent=""; }
}catch(e){ setState("failed","Can't reach the console"); $("#rate").textContent=""; }
}
async function post(path){ try{ const r=await fetch(path,{method:"POST"}); return r.ok; }catch(e){ return false; } }
$("#audio").onclick=async()=>{ if(audioOn) disableAudio(); else await enableAudio(window.__cfg||{}); };
$("#audio").onclick=async()=>{
if(audioWaiting) return; // this click is what turns the sound on
if(audioOn){ audioMuted=true; disableAudio(); toast("Sound off"); }
else { audioMuted=false; await enableAudio(window.__cfg||{}); }
};
$("#snap").onclick=()=>{
if(!video.videoWidth){ toast("No picture yet"); return; }
const c=document.createElement("canvas"); c.width=video.videoWidth; c.height=video.videoHeight;
@@ -556,14 +633,41 @@ async function connect(){
haveFrame=false; waiting("Waiting for the picture","Connected. The first keyframe usually arrives within a second or two.",true);
if(!("MediaSource" in window)){ waiting("This browser can't play the stream","Use the Glint app for Windows, or a desktop browser.",false); return; }
if(!await startVideo(cfg)) return;
if(!audioOn && !audioMuted) enableAudio(cfg);
videoAbort=new AbortController();
pumpFrames(videoAbort.signal).catch(()=>{}).finally(()=>{
pumpFrames(videoAbort.signal).then(()=>null,e=>e).then(err=>{
try{ videoAbort.abort(); if(ms&&ms.readyState==="open") ms.endOfStream(); }catch(_){}
sb=null; ops=[]; busy=false;
if(err instanceof TakenOver){ watchingElsewhere(); return; }
if(hiddenPause) return; // picks up again when the tab is shown
waiting("The stream ended","Reconnecting.",true);
setTimeout(connect,1500);
});
}
// A hidden tab can't show the picture (browsers pause muted video there) but
// would keep downloading and buffering it, so drop the video until it's shown
// again. Sound keeps playing, and the page stays the viewer.
let hiddenPause=false;
document.addEventListener("visibilitychange",()=>{
if(document.hidden){
if(videoAbort && !videoAbort.signal.aborted && !elsewhere){ hiddenPause=true; videoAbort.abort(); }
} else if(hiddenPause){
hiddenPause=false; connect();
}
});
// Another page or the Glint app took the stream. Stay quiet until the viewer
// asks for it back (that takes it from the other one in turn).
let elsewhere=false;
function watchingElsewhere(){
elsewhere=true;
if(audioOn) disableAudio();
setState("failed","Watching elsewhere");
waiting("Watching somewhere else","Glint is open on another device or tab. Only one can watch at a time, so the console stopped streaming here.",false);
$("#takeover").hidden=false;
}
$("#takeover").onclick=()=>{ elsewhere=false; takeOver=true; $("#takeover").hidden=true; connect(); };
connect();
poll(); setInterval(poll,1000);
setInterval(()=>{ if(sb) liveEdge(); },2000);
+11 -1
View File
@@ -15,7 +15,7 @@
* buffers below and the server pumps them out.
*/
#define SL_VERSION "1.0" /* shown in the console banner, capture.log and /status.json */
#define SL_VERSION "1.1" /* shown in the console banner, capture.log and /status.json */
#define SL_MAX_CLIENTS 16
#define SL_MAX_STREAMING 8
#define SL_VIDEO_SLOTS 64
@@ -65,6 +65,15 @@ typedef struct sl_state {
int listen_fd;
int client_count;
int streaming_count;
/* One viewer at a time (server.c, sl_viewer_admit). A new viewer takes
* over and every stream of the previous one ends; viewers it pushed out
* are refused while it still watches, so two of them can't fight. */
char viewer[48];
uint64_t viewer_epoch;
int viewer_streams;
uint64_t viewer_idle_ms;
char viewer_kicked[4][48];
volatile int keyframe_request;
volatile int record_requested;
@@ -142,6 +151,7 @@ void sl_profile_failed(void);
/* ---- backend ---- */
int sl_capture_start(void);
void sl_capture_stop(void);
int sl_capture_failed(void); /* the encoder refused for good: quit instead of waiting */
/* ---- helpers ---- */
uint64_t sl_now_ms(void);
+5
View File
@@ -121,6 +121,11 @@ static void *capture_main(void *arg)
return NULL;
}
int sl_capture_failed(void)
{
return 0; /* the synthetic stream always starts */
}
int sl_capture_start(void)
{
if (capture_active) return 0;
+14 -1
View File
@@ -295,7 +295,7 @@ static void encoder_locked(const char *where)
/* The encoder-locked state does not reliably clear across a payload
* restart, so we don't claim it will. */
cap_log("encoder refused to start (%s)\n", where);
if (first) sl_notify(1, "Glint: the PS5 refused to start video capture (0x%08x). Wait a minute, then load Glint again.",
if (first) sl_notify(1, "Glint: the PS5 refused to start video capture (0x%08x). Load Glint again.",
(unsigned)SL_SCE_START_LOCKED);
}
@@ -752,6 +752,11 @@ attempt_failed:
sl_inject_call_fast(&ctx, request_key, k);
}
/* The bitrate is set once, before Start. Changing it on a running
* session (SetVideoBitrate returns ok) makes every ReadVideo after it
* fail with 0x80c78000 and locks the encoder until a reboot; a clean
* close and reopen is refused at Start too. One session per boot. */
uint64_t rv_args[6] = { session, (uint64_t)frame_buf, 0x100000, (uint64_t)meta_at, 0 };
int64_t size = sl_inject_call_fast(&ctx, read_video, rv_args);
#ifdef SL_FORCE_STALL
@@ -896,6 +901,9 @@ static void *capture_main(void *arg)
{
(void)arg;
mkdir("/data/glint", 0777);
/* Keep the previous run's log: when Glint is started again after a
* problem, that log is the one that explains it. */
rename("/data/glint/capture.log", "/data/glint/capture.prev.log");
g_cap_log = fopen("/data/glint/capture.log", "w");
cap_log("Glint " SL_VERSION " capture start\n");
@@ -1043,6 +1051,11 @@ static void *capture_main(void *arg)
return NULL;
}
int sl_capture_failed(void)
{
return g_encoder_locked;
}
int sl_capture_start(void)
{
if (worker_active) return 0;
+2456 -2028
View File
File diff suppressed because it is too large. Load diff
+3 -3
View File
@@ -5,11 +5,11 @@
* and sends the complete HTTP response. */
void sl_http_configuration(int fd);
void sl_http_status(int fd);
void sl_http_stream(int fd);
void sl_http_audio(int fd);
void sl_http_stream(int fd, uint64_t epoch);
void sl_http_audio(int fd, uint64_t epoch);
void sl_http_recordings(int fd);
void sl_http_download(int fd, const char *name);
void sl_http_rtp(int fd, int port);
void sl_http_rtp(int fd, int port, uint64_t epoch);
void sl_http_select_profile(int fd, const char *path);
/* Shared helpers (server.c). */
+14 -1
View File
@@ -10,13 +10,22 @@ sl_options sl_opts = {
.port = 7231,
.height = 1080,
.fps = 60,
.bitrate = 60000000u,
/* About 35-38 Mbit/s in a busy game: clearly sharper than 20-30 (20 is
* blocky in fast motion), as smooth as 20 on a clean Wi-Fi stretch. Set
* once at start: the encoder can't change it on a running session. */
.bitrate = 50000000u,
.minqp = 18,
.audio = 1,
};
static volatile int g_quit = 0;
#ifdef SL_PS5
/* The name in the console's process list (Payload Manager shows "payload.elf"
* otherwise). Weak: a firmware without it still loads Glint. */
int sceKernelSetProcessName(const char *name) __attribute__((weak));
#endif
static void on_signal(int sig)
{
(void)sig;
@@ -86,6 +95,9 @@ int main(int argc, char **argv)
/* Log, recordings and marker files from before the rename (Screenlink). */
if (access("/data/glint", F_OK) != 0 && access("/data/screenlink", F_OK) == 0)
rename("/data/screenlink", "/data/glint");
/* ".elf": Payload Manager lists only names ending in .elf as payloads;
* anything else goes under "Show All System Processes". */
if (sceKernelSetProcessName) sceKernelSetProcessName("Glint.elf");
#endif
sl_notify(0, "Glint " SL_VERSION " loaded. Starting capture...");
@@ -104,6 +116,7 @@ int main(int argc, char **argv)
continue;
}
if (g.started_ms != 0) break; /* server ran, then stopped */
if (sl_capture_failed()) break; /* encoder refused: no point waiting */
if (sl_now_ms() - wait_started > 30000) break;
sl_sleep_ms(100);
}
+16 -14
View File
@@ -79,9 +79,9 @@ static int client_alive(int fd)
/* Called with g.lock held: wait up to one second for new media on the ring
* identified by `audio`, or for the viewer to disconnect. Returns 0 when the
* caller should stop (server stopping, stream generation bumped, or peer
* closed), non-zero to keep streaming. */
static int wait_media(int fd, uint64_t generation, int audio)
* caller should stop (server stopping, stream generation bumped, another
* viewer took over, or peer closed), non-zero to keep streaming. */
static int wait_media(int fd, uint64_t generation, int audio, uint64_t epoch)
{
if (!g.running) return 0;
struct timespec ts;
@@ -91,6 +91,7 @@ static int wait_media(int fd, uint64_t generation, int audio)
if (!g.running) return 0;
if (generation != (audio ? g.audio_generation : g.video_generation)) return 0;
if (epoch != g.viewer_epoch) return 0;
return client_alive(fd);
}
@@ -173,14 +174,15 @@ void sl_http_status(int fd)
int n = snprintf(json, sizeof(json),
"{\"version\":\"" SL_VERSION "\",\"backend\":\"h264\",\"width\":%d,\"height\":%d,\"frames\":%llu,\"bytes\":%llu,"
"\"fps\":%.1f,\"kbps\":%.1f,\"clients\":%d,\"recording\":%s,"
"\"fps\":%.1f,\"kbps\":%.1f,\"clients\":%d,\"viewers\":%d,\"bitrate\":%u,\"recording\":%s,"
"\"recording_name\":\"%s\",\"recording_frames\":%llu,\"recording_bytes\":%llu,"
"\"recording_seconds\":%.1f,\"recording_error\":%s,"
"\"audio_chunks\":%llu,\"audio_bytes\":%llu,\"audio_kbps\":%.1f,"
"\"audio_codec\":\"%s\"}",
g.width, g.height,
(unsigned long long)g.video_frames, (unsigned long long)g.video_bytes,
fps, kbps, g.client_count, recording ? "true" : "false",
fps, kbps, g.client_count, g.viewer_streams > 0 ? 1 : 0,
(unsigned)sl_opts.bitrate, recording ? "true" : "false",
name,
(unsigned long long)g.rec_frames, (unsigned long long)g.rec_bytes,
seconds, g.rec_error ? "true" : "false",
@@ -195,7 +197,7 @@ void sl_http_status(int fd)
/* ------------------------------------------------------------------ */
/* /frames */
/* ------------------------------------------------------------------ */
void sl_http_stream(int fd)
void sl_http_stream(int fd, uint64_t epoch)
{
sl_send_all(fd, STREAM_HEAD, sizeof(STREAM_HEAD) - 1);
@@ -215,9 +217,9 @@ void sl_http_stream(int fd)
uint8_t *packet = NULL;
size_t packet_cap = 0;
while (g.running && generation == g.video_generation) {
while (g.running && generation == g.video_generation && epoch == g.viewer_epoch) {
if (g.video_seq < cursor) {
if (!wait_media(fd, generation, 0)) break;
if (!wait_media(fd, generation, 0, epoch)) break;
continue;
}
@@ -266,7 +268,7 @@ void sl_http_stream(int fd)
/* ------------------------------------------------------------------ */
/* /audio */
/* ------------------------------------------------------------------ */
void sl_http_audio(int fd)
void sl_http_audio(int fd, uint64_t epoch)
{
sl_send_all(fd, STREAM_HEAD, sizeof(STREAM_HEAD) - 1);
@@ -284,9 +286,9 @@ void sl_http_audio(int fd)
return;
}
while (g.running && generation == g.audio_generation) {
while (g.running && generation == g.audio_generation && epoch == g.viewer_epoch) {
if (g.audio_seq < cursor) {
if (!wait_media(fd, generation, 1)) break;
if (!wait_media(fd, generation, 1, epoch)) break;
continue;
}
sl_audio_slot *slot = &g.audio[cursor & (SL_AUDIO_SLOTS - 1)];
@@ -394,7 +396,7 @@ static uint32_t rtp_ssrc(int fd, uint64_t started)
return value ? value : 1;
}
void sl_http_rtp(int fd, int port)
void sl_http_rtp(int fd, int port, uint64_t epoch)
{
struct sockaddr_in peer;
#ifdef _WIN32
@@ -424,9 +426,9 @@ void sl_http_rtp(int fd, int port)
const uint8_t *nals[256];
size_t sizes[256];
while (g.running && generation == g.video_generation) {
while (g.running && generation == g.video_generation && epoch == g.viewer_epoch) {
if (g.video_seq < cursor) {
if (!wait_media(fd, generation, 0)) break;
if (!wait_media(fd, generation, 0, epoch)) break;
continue;
}
sl_video_slot *slot = &g.video[cursor & (SL_VIDEO_SLOTS - 1)];
+112 -7
View File
@@ -1,8 +1,10 @@
#include "glint.h"
#include "http_handlers.h"
#include <ctype.h>
#include <errno.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
@@ -126,12 +128,97 @@ static int parse_rtp_port(const char *path, int *port)
return 1;
}
/* The viewer a stream request belongs to: "?viewer=<id>" (the dashboard sends
* one per page), or "ip:<address>" for clients that don't (the desktop app).
* "take=1" asks to take over from a viewer that pushed this one out. */
static void viewer_of(int fd, const char *path, char *out, size_t cap, int *take)
{
const char *query = strchr(path, '?');
out[0] = 0;
*take = 0;
if (query) {
const char *v = strstr(query, "viewer=");
if (v) {
v += 7;
size_t n = 0;
while (n + 1 < cap && (isalnum((unsigned char)v[n]) || v[n] == '-' || v[n] == '_')) {
out[n] = v[n];
n++;
}
out[n] = 0;
}
*take = strstr(query, "take=1") != NULL;
}
if (out[0]) return;
struct sockaddr_in peer;
#ifdef _WIN32
int len = sizeof(peer);
int ok = getpeername((SOCKET)fd, (struct sockaddr *)&peer, &len) == 0;
#else
socklen_t len = sizeof(peer);
int ok = getpeername(fd, (struct sockaddr *)&peer, &len) == 0;
#endif
const uint8_t *a = (const uint8_t *)&peer.sin_addr;
if (ok) snprintf(out, cap, "ip:%u.%u.%u.%u", a[0], a[1], a[2], a[3]);
else snprintf(out, cap, "ip:unknown");
}
static int viewer_was_kicked(const char *id)
{
for (int i = 0; i < 4; i++)
if (strcmp(g.viewer_kicked[i], id) == 0) return 1;
return 0;
}
/* Called with g.lock held for every stream request. One viewer at a time: the
* current one always gets in, anyone else takes over and every stream of the
* current one ends. A viewer that was pushed out is refused while the one that
* pushed it is still watching (or reconnecting, SL_VIEWER_GRACE_MS), unless it
* asks with take=1, so two viewers that reconnect on their own can't fight. */
#define SL_VIEWER_GRACE_MS 5000
/* With g.lock held: the current viewer has a stream open, or had one moments ago. */
static int viewer_watching(void)
{
return g.viewer[0] &&
(g.viewer_streams > 0 || sl_now_ms() - g.viewer_idle_ms < SL_VIEWER_GRACE_MS);
}
static int viewer_admit(const char *id, int take, uint64_t *epoch)
{
if (strcmp(id, g.viewer) != 0) {
int watching = viewer_watching();
if (!watching) memset(g.viewer_kicked, 0, sizeof(g.viewer_kicked));
else if (viewer_was_kicked(id) && !take) return 0;
for (int i = 0; i < 4; i++)
if (strcmp(g.viewer_kicked[i], id) == 0) g.viewer_kicked[i][0] = 0;
if (g.viewer_streams > 0) { /* pushed out while watching (not one that had just left) */
memmove(g.viewer_kicked[1], g.viewer_kicked[0], sizeof(g.viewer_kicked[0]) * 3);
snprintf(g.viewer_kicked[0], sizeof(g.viewer_kicked[0]), "%s", g.viewer);
}
snprintf(g.viewer, sizeof(g.viewer), "%s", id);
g.viewer_epoch++;
g.viewer_streams = 0;
pthread_cond_broadcast(&g.cond); /* wake the old viewer's streams so they end */
}
g.viewer_streams++;
*epoch = g.viewer_epoch;
return 1;
}
static void viewer_leave(uint64_t epoch)
{
if (epoch == g.viewer_epoch && --g.viewer_streams == 0) g.viewer_idle_ms = sl_now_ms();
}
static int streaming_route(const char *path, int rtp_port)
{
return path_is(path, "/frames") || path_is(path, "/audio") || rtp_port != 0;
}
static void dispatch(int fd, const char *method, const char *path, int rtp_port)
static void dispatch(int fd, const char *method, const char *path, int rtp_port, uint64_t epoch)
{
if (path_is(method, "GET")) {
if (path_is(path, "/")) {
@@ -144,9 +231,9 @@ static void dispatch(int fd, const char *method, const char *path, int rtp_port)
}
if (path_is(path, "/config.json")) { sl_http_configuration(fd); return; }
if (path_is(path, "/status.json")) { sl_http_status(fd); return; }
if (path_is(path, "/frames")) { sl_http_stream(fd); return; }
if (path_is(path, "/audio")) { sl_http_audio(fd); return; }
if (rtp_port) { sl_http_rtp(fd, rtp_port); return; }
if (path_is(path, "/frames")) { sl_http_stream(fd, epoch); return; }
if (path_is(path, "/audio")) { sl_http_audio(fd, epoch); return; }
if (rtp_port) { sl_http_rtp(fd, rtp_port, epoch); return; }
if (path_is(path, "/recordings")) { sl_http_recordings(fd); return; }
if (path_starts(path, "/recordings/")) {
sl_http_download(fd, path + strlen("/recordings/"));
@@ -234,6 +321,7 @@ static void *client_thread(void *arg)
request[0] = 0; /* a peer that closes before sending anything leaves it empty */
size_t used = 0;
int streaming = 0;
uint64_t epoch = 0;
uint64_t deadline = sl_now_ms() + 5000;
for (;;) {
@@ -268,19 +356,33 @@ static void *client_thread(void *arg)
int rtp_port = 0;
parse_rtp_port(path, &rtp_port);
/* The route without its query ("/frames?viewer=..." -> "/frames"). */
char route[256];
snprintf(route, sizeof(route), "%s", path);
char *query = strchr(route, '?');
if (query && !rtp_port) *query = 0;
pthread_mutex_lock(&g.lock);
if (streaming_route(path, rtp_port)) {
if (streaming_route(route, rtp_port)) {
if (g.streaming_count >= SL_MAX_STREAMING) {
pthread_mutex_unlock(&g.lock);
reply_busy(fd);
goto done;
}
char viewer[48];
int take = 0;
viewer_of(fd, path, viewer, sizeof(viewer), &take);
if (!viewer_admit(viewer, take, &epoch)) {
pthread_mutex_unlock(&g.lock);
sl_profile_reply(fd, 409, "Someone else is watching");
goto done;
}
g.streaming_count++;
streaming = 1;
}
pthread_mutex_unlock(&g.lock);
dispatch(fd, method, path, rtp_port);
dispatch(fd, method, streaming ? route : path, rtp_port, epoch);
done:
pthread_mutex_lock(&g.lock);
@@ -291,7 +393,10 @@ done:
#endif
g.slot_fd[slot] = -1;
g.client_count--;
if (streaming) g.streaming_count--;
if (streaming) {
g.streaming_count--;
viewer_leave(epoch);
}
g.slot_used[slot] = 0;
pthread_mutex_unlock(&g.lock);
return NULL;
+46
View File
@@ -0,0 +1,46 @@
#!/usr/bin/env node
// One viewer at a time: a new viewer ends the old one's streams, the old one is
// refused (409) while the new one watches, and take=1 gets it back.
// Usage: node viewer_takeover.js http://127.0.0.1:19099
const http = require('http');
const base = new URL(process.argv[2] || 'http://127.0.0.1:19099');
function open(path) {
return new Promise((resolve, reject) => {
const req = http.get({ host: base.hostname, port: base.port, path }, res => {
const s = { status: res.statusCode, bytes: 0, ended: false, res };
res.on('data', d => { s.bytes += d.length; });
res.on('end', () => { s.ended = true; });
res.on('close', () => { s.ended = true; });
resolve(s);
});
req.on('error', reject);
});
}
const wait = ms => new Promise(r => setTimeout(r, ms));
function assert(ok, what) { if (!ok) { console.error('FAIL ' + what); process.exit(1); } console.log('ok ' + what); }
(async () => {
const a = await open('/frames?viewer=aaa'), aAudio = await open('/audio?viewer=aaa');
await wait(800);
assert(a.status === 200 && a.bytes > 0 && aAudio.status === 200, 'viewer A streams video and audio');
const b = await open('/frames?viewer=bbb');
await wait(1500);
assert(b.status === 200 && b.bytes > 0, 'viewer B streams');
assert(a.ended && aAudio.ended, 'viewer A was kicked (video and audio)');
const a2 = await open('/frames?viewer=aaa');
assert(a2.status === 409, 'A reconnecting on its own is refused while B watches');
const app = await open('/frames');
await wait(1500);
assert(app.status === 200 && app.bytes > 0 && b.ended, 'a client without an id (the app) takes over from B');
app.res.destroy();
const a3 = await open('/frames?viewer=aaa&take=1');
await wait(800);
assert(a3.status === 200 && a3.bytes > 0, 'A takes it back with take=1');
a3.res.destroy();
process.exit(0);
})().catch(e => { console.error('FAIL ' + e.message); process.exit(1); });
+91
View File
@@ -0,0 +1,91 @@
#!/usr/bin/env node
// Turns the FSRCNNX mpv user shader (app/src/shaders/third_party/, igv, LGPL-3.0)
// into Vulkan compute passes for the Picture settings' AI upscaler:
//
// app/src/shaders/fsrcnnx/pass_NN.comp one network layer each, weights unchanged
// app/src/shaders/fsrcnnx/passes.inc the pass table main.cpp includes
//
// Every layer runs at the stream's size and writes an RGBA16F image named as in
// the mpv shader (FEATURE1, MODEL21, ...). mpv's final "aggregation" hook (the
// 2x pixel shuffle) is not converted: fsrcnnx_out.comp does it and also puts
// the colour back. Run after updating the .glsl: node tools/gen_fsrcnnx.js
const fs = require('fs');
const path = require('path');
const root = path.join(__dirname, '..', 'app', 'src', 'shaders');
const source = path.join(root, 'third_party', 'FSRCNNX_x2_8-0-4-1.glsl');
const outDir = path.join(root, 'fsrcnnx');
const text = fs.readFileSync(source, 'utf8').replace(/\r\n/g, '\n');
// Split into hooks: the //! header lines, then the body up to the next //!HOOK.
const hooks = [];
for (const chunk of text.split(/^(?=\/\/!HOOK)/m).slice(1)) {
const lines = chunk.split('\n');
const meta = { binds: [], body: [] };
let i = 0;
for (; i < lines.length && lines[i].startsWith('//!'); i++) {
const [key, ...rest] = lines[i].slice(3).split(' ');
const value = rest.join(' ');
if (key === 'BIND') meta.binds.push(value);
else meta[key.toLowerCase()] = value;
}
meta.body = lines.slice(i).join('\n').trim();
hooks.push(meta);
}
const layers = hooks.filter(h => !h.width); // skip the 2x aggregation hook
if (layers.length === 0) throw new Error('no layers found in ' + source);
fs.mkdirSync(outDir, { recursive: true });
for (const f of fs.readdirSync(outDir)) fs.unlinkSync(path.join(outDir, f));
const table = [];
layers.forEach((h, n) => {
if (h.binds.length > 3) throw new Error(`${h.desc}: more than 3 inputs`);
if (h.components !== '4') throw new Error(`${h.desc}: expected 4 components`);
const name = `pass_${String(n + 1).padStart(2, '0')}`;
const defines = h.binds.map((b, k) =>
b === 'LUMA'
? `#define LUMA_texOff(o) fetch_(in${k}, vec2(o)).x`
: `#define ${b}_texOff(o) fetch_(in${k}, vec2(o))`).join('\n');
const glsl = `#version 450
// Generated by tools/gen_fsrcnnx.js from third_party/FSRCNNX_x2_8-0-4-1.glsl
// (FSRCNNX by igv, LGPL-3.0). Layer: ${h.desc}. Do not edit.
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0, rgba16f) uniform writeonly image2D dst;
layout(binding = 1) uniform sampler2D in0;
layout(binding = 2) uniform sampler2D in1;
layout(binding = 3) uniform sampler2D in2;
layout(push_constant) uniform Params { ivec2 size; } p;
ivec2 at_;
vec4 fetch_(sampler2D s, vec2 o) { return texelFetch(s, clamp(at_ + ivec2(o), ivec2(0), p.size - 1), 0); }
${defines}
${h.body}
void main()
{
at_ = ivec2(gl_GlobalInvocationID.xy);
if (at_.x >= p.size.x || at_.y >= p.size.y) return;
imageStore(dst, at_, hook());
}
`;
fs.writeFileSync(path.join(outDir, name + '.comp'), glsl);
table.push({ name, desc: h.desc, save: h.save, binds: h.binds });
});
const inc = [
'// Generated by tools/gen_fsrcnnx.js: the FSRCNNX layers, in order. Do not edit.',
...table.map(t => `static const uint32_t kFsrcnnx_${t.name}[] =\n#include "shaders/fsrcnnx/${t.name}.spv.inc"\n;`),
'static const FsrcnnxLayer kFsrcnnxLayers[] = {',
...table.map(t => {
const b = [0, 1, 2].map(k => (t.binds[k] ? `"${t.binds[k]}"` : 'nullptr')).join(', ');
return ` {"${t.desc}", kFsrcnnx_${t.name}, sizeof(kFsrcnnx_${t.name}), "${t.save}", {${b}}},`;
}),
'};',
'',
].join('\n');
fs.writeFileSync(path.join(outDir, 'passes.inc'), inc);
console.log(`${table.length} layers -> ${path.relative(process.cwd(), outDir)}`);
for (const t of table) console.log(` ${t.name} ${t.desc.padEnd(22)} ${t.binds.join('+')} -> ${t.save}`);
+8
View File
@@ -150,6 +150,14 @@ def main():
# white for its dark theme.
lockup(240, BLACK).save(out("docs", "brand", "glint-logo-light.png"))
lockup(240, WHITE).save(out("docs", "brand", "glint-logo-dark.png"))
# README header: white on its own rounded black tile, so it reads the same
# whatever GitHub's theme is (a <picture> follows the device, not GitHub).
w, h = 1600, 560
banner = lockup(190, WHITE, background=BLACK, size=(w, h))
corners = Image.new("L", (w * SS, h * SS), 0)
ImageDraw.Draw(corners).rounded_rectangle([0, 0, w * SS - 1, h * SS - 1], radius=0.16 * h * SS, fill=255)
banner.putalpha(corners.resize((w, h), Image.LANCZOS))
banner.save(out("docs", "brand", "glint-banner.png"), optimize=True)
# Windows icon: the dark tile shows on both taskbar themes. Below 48 px the
# bolt gets thicker so it does not thin out to a scratch.